Почему не работает административное приложение Django 1.0?

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

У меня проблема с админкой. Я могу войти в нее и просмотреть редактируемые модели, но когда я нажимаю на модель или любую из кнопок изменения / добавления, я получаю 404.

Это точная ошибка, которую я получаю:

Page not found (404)
Request Method:     GET
Request URL:    http://localhost:8000/admin/auth/user/add/

App u'', model u'auth', not found.

Это соответствующие файлы и то, что в них:

urls.py

from django.conf.urls.defaults import *

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

urlpatterns = patterns('',
# Example:
# (r'^daso/', include('daso.foo.urls')),

# Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
# to INSTALLED_APPS to enable admin documentation:
#(r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
    (r'^admin(.*)', admin.site.root)
)

admin.py

from daso.clients.models import Person, Client, Contact
from django.contrib import admin

admin.site.register(Person)
admin.site.register(Client)
admin.site.register(Contact)

models.py - я покажу только одну модель

class Client(Person):
relationships = models.ManyToManyField("Contact", through = "Relationship", null=True)
disabilities = models.ManyToManyField("Disability", related_name = "disability", null=True)
medical_issues = models.ManyToManyField("MedicalIssue", related_name = "medical_issue", null=True)
medicare_num = models.CharField(max_length=15, blank=True)
insurance = models.OneToOneField("Insurance", null=True, blank=True)
medications = models.ManyToManyField("Medication", through = "Medication_Details", null=True)

def __unicode__(self):
    client = u"[Client[id: ", self.id, " name: ", self.first_name, " ", self.last_name, "]"
    return client

settings.py

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'daso.clients',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

Это должны быть соответствующие файлы / разделы файлов. Если у кого-то есть представление о том, ПОЧЕМУ я получаю 404, пожалуйста, просветите меня?

Обратите внимание, что при вставке здесь в установленных приложениях последние 2 приложения были помещены во вкладки, а не разнесены * 4, а при перезагрузке страницы администратора он работал полсекунды, а затем снова 404. Странный. Идеи?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
5
0
3 049
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это потому, что вы не включили / в urls.py. Измените строку администратора на следующую:

(r'^admin/(.*)', admin.site.root),

Я проверил это на своем сервере и получил ту же ошибку с вашей строкой от urls.py.

вау .. спасибо! Я чувствую себя довольно глупо, хотя ошибка не очень помогает

Josh Smeaton 31.10.2008 14:10

Это странная ошибка, возможно, стоит сообщить об ошибке. Я до сих пор не совсем понимаю, почему это сработает для большинства страниц, но на некоторых ломается. Я предполагаю, что он неправильно обрабатывает '/' на глубине нескольких «каталогов».

tghw 31.10.2008 15:16

это также работает, когда ваш администратор меняет пароль и выходит из системы не по абсолютному пути и переходит к 404

Rasiel 09.10.2009 08:41

Другие вопросы по теме