From django contrib import admin ошибка

I am new at Django. I am trying to create basic admin panel. when I changed the urls.py file and I put url(r’^admin/’, include(admin.site.urls)), into patterns then it gave error like that:

Request Method: GET return      
Request URL:    http://127.0.0.1:8000/    
Django Version: 1.4     
Exception Type: ImportError     
Exception Value:cannot import name admin    
Exception Location:/home/ulascan/Desktop/projects/purple/purple/urls.py in <module>, line 1     
Python Executable:  /usr/bin/python     
Python Version: 2.7.3     
Python Path:        
['/home/ulascan/Desktop/projects/purple',    
 '/usr/lib/python2.7',    
 '/usr/lib/python2.7/plat-linux2'      
 ...
 ...]

Nilesh's user avatar

Nilesh

20.3k16 gold badges89 silver badges144 bronze badges

asked Nov 19, 2012 at 12:04

user1835661's user avatar

2

Make sure that in your settings.py you have django.contrib.admin, uncommented in INSTALLED_APPS. And also check that you have these lines in your urls.py:

from django.contrib import admin
admin.autodiscover()

Nilesh's user avatar

Nilesh

20.3k16 gold badges89 silver badges144 bronze badges

answered Nov 19, 2012 at 12:24

Jakub Ječmínek's user avatar

urls.py в папке проекта

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('bboard/', include('bboard.urls'))
]

Вот urls.py приложения

from django.urls import path

from . import views

urlspatterns = [
    path('', views.index)
]

Ошибка
django.core.exceptions.ImproperlyConfigured: The included URLconf » does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.

TheDoctor666

0 / 0 / 0

Регистрация: 20.09.2016

Сообщений: 11

1

03.02.2017, 21:07. Показов 7923. Ответов 10

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Доброго времени суток
Я сейчас изучаю django и у меня ступор, не могу идти дальше

В папке моего проекта файл urls.py содержит следущий код:

Python
1
2
3
4
5
6
7
from django.conf.urls import url
from django.contrib import admin
 
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^goods/', page.urls),
]

где, page название созданного приложения. Файл urls в page создал

когда запускаю сервер пишет ошибку:
NameError: name ‘page’ is not defined

Как быть, подскажите?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

03.02.2017, 21:07

Ответы с готовыми решениями:

Django-cron выдает ошибку при запуске cron из терминала
Здравствуйте!

Помогите разобраться пожалуйста, нужно срочно запустить cron

Установила…

При переносе сайта на Django на другой хостинг пишет ошибку
Пробуем настроить на http://vetcao.ru, перенесли, пишет ошибку:

че-то там хостеры сделали…

СМА Hansa PG5510A412 s/n 04454930213108 после нескольких минут выдает ошибку, выдает ошибку
Hansa PG5510A412 s/n 04454930213108 отработала 2 месяца на этом же месте, магазин где брали…

Программа которая выдает платформу компьютера выдает ошибку
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,…

10

__py__

in code we trust

133 / 162 / 12

Регистрация: 29.02.2016

Сообщений: 883

04.02.2017, 10:14

2

Туториал с офиц сайта?

Python
1
url(r'^blog/', include('blog.urls')),

goods заменить на page и модифицировать надо корректно. Как у меня. У меня всё работает. Левые туториалы выкинуть все.

Добавлено через 25 секунд
( кроме книг конечно)

Добавлено через 3 минуты
Есть же форум официального джанго, там всегда ответят если что.

Добавлено через 44 секунды
http://djbook.ru/forum/forum/2/ регистрируйтесь.



0



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

04.02.2017, 10:47

3

Зачем ему регистрироваться где-то если ошибка очевидна + то, что ты пишешь запрещено правилами форума.

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

rl(r’^goods/’, page.urls),

Естественно будет ошибка, ты же не импортнул page, конечно питон орать будет на тебя.

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

NameError: name ‘page’ is not defined

Все очень очевидно



0



TheDoctor666

0 / 0 / 0

Регистрация: 20.09.2016

Сообщений: 11

04.02.2017, 11:02

 [ТС]

4

__py__,
пробовал как у вас, пишет
NameError: name ‘include’ is not defined

пользуюсь книгой, но она под старую версию джанго, много кода приходилось переискивать самому, а тут вообще ничего не могу понять, уже три дня застрял на месте

Добавлено через 1 минуту
alex925,
сколько пересмотрел примеров в интернете никто кроме

Python
1
2
from django.conf.urls import url
from django.contrib import admin

ничего не импортировал, да и пробовал
from pages include urls

не помогает



0



alex925

2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

04.02.2017, 11:41

5

TheDoctor666,

сколько пересмотрел примеров в интернете никто кроме
PythonВыделить код
1
2
from django.conf.urls import url
from django.contrib import admin
ничего не импортировал,

Не верю, сам видел кучу правильных примеров, в том числе и на оф сайте.

from pages include urls

А это что за монстор вообще?

Должно быть, что-то вроде этого

Python
1
from . import views

И из views берутся все твои вьюхи.

https://docs.djangoproject.com… utorial01/



0



__py__

in code we trust

133 / 162 / 12

Регистрация: 29.02.2016

Сообщений: 883

04.02.2017, 12:12

6

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

пробовал как у вас, пишет
NameError: name ‘include’ is not defined

всё в точности надо как здесь < только аргументы заменить в скобках > всё работает.

Python
1
2
3
4
5
6
7
from django.conf.urls import include, url
from django.contrib import admin
 
urlpatterns = [
    url(r'^blog/', include('blog.urls')),
    url(r'^admin/', admin.site.urls),
]

Добавлено через 4 минуты

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

пользуюсь книгой, но она под старую версию джанго,

офиц туториал есть, зачем старый запорожец, к которому даже деталей не найти если сломается?

Добавлено через 7 минут
http://djbook.ru/rel1.9/intro/ и вот перевод туториала официального и он от 1.10 не отличается особо ничем.

Добавлено через 7 минут

Цитата
Сообщение от alex925
Посмотреть сообщение

Должно быть, что-то вроде этого
Python
Выделить код
1
from . import views
И из views берутся все твои вьюхи.

Отсюда у многих новичков путаница, путают 2 одинаково названных файла url.py, один из которых в директории mysite лежит.

Добавлено через 1 минуту
Тот , что с вьюхой в его собственном приложении отдельно создаётся.



0



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

04.02.2017, 12:19

7

__py__, это код с оф сайта, если честно мне джанга вообще побоку, не нравится она мне.



0



0 / 0 / 0

Регистрация: 20.09.2016

Сообщений: 11

05.02.2017, 01:57

 [ТС]

8

__py__
спасибо, все было в from django.conf.urls import include, url
долбанный инклюд, в книге не было!
все заработало, но появились другие ошибки, думаю выкину эту книгу, я меньше обучаюсь по делу, чем ошибки решаю мелочные

alex925
если она вам по боку, то зачем выдаете ненужные советы?



0



Ennjin

05.02.2017, 08:16

Не по теме:

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

все заработало, но появились другие ошибки

Забудте про джангу, изучайте фласк



0



in code we trust

133 / 162 / 12

Регистрация: 29.02.2016

Сообщений: 883

05.02.2017, 08:32

10

Цитата
Сообщение от Ennjin
Посмотреть сообщение

Забудте про джангу, изучайте фласк

Flask переводится как фляга — это означает, что без бутылки не разберёшься
Я тоже хотел начать с flask, в итоге изучаю django и считаю, что правильнее в таком порядке изучать фреймворки:
1.django
2.flask
3… любой другой?



0



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

05.02.2017, 11:40

11

Цитата
Сообщение от Ennjin
Посмотреть сообщение

Забудте про джангу, изучайте фласк

flask крутой, но TheDoctor666 его объективно не потянет, тем более в сети хорошего туториала нет. А вообще согласен)

TheDoctor666, ни каких вредных советов я тебе не давал. Я тебе указал на твою грубейшую ошибку и все. Для того, чтобы ее увидеть не нужно писать на джанге.



0



#django #django-models #django-rest-framework #django-views #django-templates

Вопрос:

Я не могу импортировать свои представления из папки приложения в URL-адреса папки проекта. Я перепробовал все возможные методы, такие как » от . импорт представлений » или «из newapp импорт представлений как newapp_views» и еще 2-3 альтернативы, которые я искал в Интернете. Мое приложение называется newapp, а название проекта-newproject. Пожалуйста, помогите мне.

 This is my models file:

from django.db import models

class User(models.Model):
    first_name=models.CharField(max_length=128)
    
last_name=models.CharField(max_length=128)
    
email=models.EmailField(max_length=256, unique=True)



This is my URLS of newapp folder:

from django.conf.urls import url

from django.urls.resolvers import URLPattern

from .models import views

urlpatterns= [url(r'^


Комментарии:

1. В чем заключается ошибка? Что значит "не можешь"?

2. Когда я использую" из представлений импорта новых приложений", отображается ошибка: путь ( ", views.index, имя= "индекс"), ошибка атрибута: модуль "newapp.views" не имеет атрибута "индекс"

3. Когда я иду с "от". импорт представлений", отображается ошибка: от . импорт представлений ImportError: не удается импортировать имя "представления" из "нового проекта" (C:UsersacerDocumentsdjangoprojectsnewprojnewprojectnewproject_init_.py )

Ответ №1:

Вы не можете импортировать свой файл следующим образом: from newapp import views .

И from . import views будет работать только в том случае, если ваш urls.py файл находится в папке вашего приложения, в то время как Django по умолчанию помещает его в папку вашего проекта.

Если вы решите иметь отдельные urls.py файлы для каждого приложения (что является хорошей практикой, так как ваш проект может вырасти во множество приложений), вы можете сделать следующее:

newapp/urls.py

 from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('users/',views.users, name="users"),
    path('admin/', admin.site.urls)
]

 

newproject/urls.py

 from django.urls import path, include

urlpatterns = [
    path('', include('newapp.urls'))
]

 

Таким образом, вы просто включаете URL-адреса приложений в файл URL-адресов проекта и можете использовать путь для префикса всех URL-адресов приложений (вместо пустой строки, как указано выше).

Комментарии:

1. Но я уже создал другой файл представлений для папки приложения. Я привел код для обоих файлов URL-адресов выше.

2. @AsadTayyab Я этого не заметил, поэтому отредактировал свой ответ, чтобы привести вам пример отдельных url.py файлов.

3. Большое Вам спасибо! Это помогло. 🙂

4. @AsadTayyab Нет проблем! Пожалуйста, подумайте о том, чтобы принять мой ответ 🙂

, views.users, name='users'),
]

This is my views of newapp folder:

from django.shortcuts import render

from .models import User

def index(request):

return render(request, 'newapp/index.html')

def users(request):

user_list=User.objects.order_by('first_name')

user_dict={'users': user_list}

return render(request, 'newapp/users.html', context=user_dict)

This is my URLS of newproect folder:

from django.contrib import admin

from django.urls import path,include

from newapp import views

urlpatterns = [

path('', views.index, name='index'),
path('users/',views.users, name="users"),
path('admin/', admin.site.urls),

]

This is my settings file:

from pathlib import Path

import os

BASE_DIR = Path(__file__).resolve().parent.parent

TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates')

DEBUG = True

ALLOWED_HOSTS = []

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'newapp'
]

TEMPLATES = [
{

'BACKEND': 'django.template.backends.django.DjangoTemplates',

'DIRS': [TEMPLATE_DIR,],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}

Комментарии:

1. В чем заключается ошибка? Что значит «не можешь»?

2. Когда я использую» из представлений импорта новых приложений», отображается ошибка: путь ( «, views.index, имя= «индекс»), ошибка атрибута: модуль «newapp.views» не имеет атрибута «индекс»

3. Когда я иду с «от». импорт представлений», отображается ошибка: от . импорт представлений ImportError: не удается импортировать имя «представления» из «нового проекта» (C:UsersacerDocumentsdjangoprojectsnewprojnewprojectnewproject_init_.py )

Ответ №1:

Вы не можете импортировать свой файл следующим образом: from newapp import views .

И from . import views будет работать только в том случае, если ваш urls.py файл находится в папке вашего приложения, в то время как Django по умолчанию помещает его в папку вашего проекта.

Если вы решите иметь отдельные urls.py файлы для каждого приложения (что является хорошей практикой, так как ваш проект может вырасти во множество приложений), вы можете сделать следующее:

newapp/urls.py


newproject/urls.py


Таким образом, вы просто включаете URL-адреса приложений в файл URL-адресов проекта и можете использовать путь для префикса всех URL-адресов приложений (вместо пустой строки, как указано выше).

Комментарии:

1. Но я уже создал другой файл представлений для папки приложения. Я привел код для обоих файлов URL-адресов выше.

2. @AsadTayyab Я этого не заметил, поэтому отредактировал свой ответ, чтобы привести вам пример отдельных url.py файлов.

3. Большое Вам спасибо! Это помогло. 🙂

4. @AsadTayyab Нет проблем! Пожалуйста, подумайте о том, чтобы принять мой ответ 🙂

url.py
from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(»,
# Examples:
# url(r’^$’, ‘mysites.views.home’, name=’home’),
# url(r’^mysites/’, include(‘mysites.foo.urls’)),

# Uncomment the admin/doc line below to enable admin documentation:
url(r’^admin/doc/’, include(‘django.contrib.admindocs.urls’)),

# Uncomment the next line to enable the admin:
url(r’^admin/’, ‘admin.site.mysql’, name=’mysql’),

)

settings.py
# Django settings for mysites project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
# (‘Your Name’, ‘your_email@example.com’),
)

MANAGERS = ADMINS

DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.sqlite3’, # Add ‘postgresql_psycopg2’, ‘mysql’, ‘sqlite3’ or ‘oracle’.
‘NAME’: ‘/home/alegria/proba.db’, # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
‘USER’: ‘’,
’PASSWORD’: ‘’,
’HOST’: ‘’, # Empty for localhost through domain sockets or ’127.0.0.1′ for localhost through TCP.
‘PORT’: », # Set to empty string for default.
}
}

# Hosts/domain names that are valid for this site; required if DEBUG is False
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
ALLOWED_HOSTS =

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = ‘America/Chicago’

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = ‘en-us’

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = True

# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: “/var/www/example.com/media/”
MEDIA_ROOT = »

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: «http://example.com/media/“, ”http://media.example.com/“
MEDIA_URL = ‘’

# Absolute path to the directory static files should be collected to.
# Don’t put anything in this directory yourself; store your static files
# in apps’ ”static/“ subdirectories and in STATICFILES_DIRS.
# Example: ”/var/www/example.com/static/“
STATIC_ROOT = »

# URL prefix for static files.
# Example: ”http://example.com/static/“, ”http://static.example.com/“
STATIC_URL = ‘/static/’

# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like ”/home/html/static“ or ”Cwww/django/static“.
# Always use forward slashes, even on Windows.
# Don’t forget to use absolute paths, not relative paths.
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
‘django.contrib.staticfiles.finders.FileSystemFinder’,
‘django.contrib.staticfiles.finders.AppDirectoriesFinder’,
# ‘django.contrib.staticfiles.finders.DefaultStorageFinder’,
)

# Make this unique, and don’t share it with anybody.
SECRET_KEY = ‘3q7pgqhn2pllu0$mrb6v7c$nr1239zabq#ny6cwl4)zo%pv&y1’

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
‘django.template.loaders.filesystem.Loader’,
‘django.template.loaders.app_directories.Loader’,
# ‘django.template.loaders.eggs.Loader’,
)

MIDDLEWARE_CLASSES = (
‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
# Uncomment the next line for simple clickjacking protection:
# ‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
)

ROOT_URLCONF = ‘mysites.urls’

# Python dotted path to the WSGI application used by Django’s runserver.
WSGI_APPLICATION = ‘mysites.wsgi.application’

TEMPLATE_DIRS = (
# Put strings here, like ”/home/html/django_templates“ or ”Cwww/django/templates».
# Always use forward slashes, even on Windows.
# Don’t forget to use absolute paths, not relative paths.
)

INSTALLED_APPS = (
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.sites’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘mysites.blog’,
‘django.contrib.admin’,
‘django.contrib.admindocs’,
)

# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
‘version’: 1,
‘disable_existing_loggers’: False,
‘filters’: {
‘require_debug_false’: {
‘()’: ‘django.utils.log.RequireDebugFalse’
}
},
‘handlers’: {
‘mail_admins’: {
‘level’: ‘ERROR’,
‘filters’: ,
‘class’: ‘django.utils.log.AdminEmailHandler’
}
},
‘loggers’: {
‘django.request’: {
‘handlers’: ,
‘level’: ‘ERROR’,
‘propagate’: True,
},
}
}

Понравилась статья? Поделить с друзьями:
  • Frmt read ошибка пионер
  • Frm 40735 ошибка
  • Frm 40505 ошибка
  • Frigate выдает ошибку
  • Friday the 13th the game ошибка подключения