【问题标题】:Why won't Django 1.0 admin application work?为什么 Django 1.0 管理应用程序不能工作?
【发布时间】:2010-09-20 03:11:56
【问题描述】:

我刚刚开始使用 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'd。奇怪的。想法?

【问题讨论】:

    标签: python django admin


    【解决方案1】:

    这是因为您在 urls.py 中遗漏了 /。将管理行更改为以下内容:

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

    我在我的服务器上检查了这一点,并从urls.py 收到了与您的行相同的错误。

    【讨论】:

    • 哇……谢谢!我现在觉得很愚蠢,虽然这个错误不是很有帮助
    • 这是一个奇怪的错误,可能值得报告一个错误。我仍然不完全理解为什么它适用于大多数页面,但打破了一些。我的猜测是它没有正确处理一些“目录”深处的“/”。
    • 当您的管理员更改密码和注销不采用绝对路径并转到 404 时,这也有效
    猜你喜欢
    • 2015-12-27
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多