【问题标题】:Custom admin interface in DjangoDjango 中的自定义管理界面
【发布时间】:2012-12-11 22:16:20
【问题描述】:

Django 的文档提供了一种安装admin 应用程序的简单方法。 它假定文件的结构如下:

mysite/
    manage.py
    mysite/
          settings.py #adding `admin` under `INSTALLED_APPS`
          __init__.py
          urls.py #adding urls
          wsgi.py
    myapp/
    __init__.py
    admin.py #creating this file
    models.py
    views.py 

如果我的结构如下,我的问题是如何让admin 接口工作:

mysite/
      manage.py
      settings.py
      __init__.py
      urls.py
      myapp/
          __init__.py
          forms.py
          models.py
          views.py

为了使admin 界面正常工作,我必须进行哪些更改。 [我的其他应用程序正在运行]。 我已经多次阅读文档。 我正在使用Django1.4

编辑#1

我在运行 localhost:8000/admin/ 时遇到此错误:

error at /admin/
unknown specifier: ?P[

Whole error here.

我的 urls.py 文件包含以下行 [如文档中所示]:

from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
    (r'^admin/(.*)', include(admin.site.urls)),
)

我在myapp 文件夹中的admin.py 文件有代码:

import models
from django.contrib import admin

class PostAdmin(admin.ModelAdmin):
    prepopulated_fields = {"slug": ("title",)}

admin.site.register(models.Article, PostAdmin)

【问题讨论】:

  • 你试过了吗?有什么问题?真的应该没有问题
  • @JoshSmeaton:请看我编辑的问题。
  • @JoshSmeaton:整个错误都在:dpaste.com/852582

标签: django django-admin static-files django-staticfiles django-1.4


【解决方案1】:

这是您应该包含管理员网址的方式:

url(r'^admin/', include(admin.site.urls)),

documentation 显示了这一点。

你得到的错误直接来自re python 模块,抱怨这部分网址:

?P[

您在下方评论中发布的网址显示了这一点:

url(r'^(?P[-a-zA-Z0-9]+)/?$', 'myapp.views.getPost')

尝试通过为匹配组命名来更改该 URL:

url(r'^(?P<slug>[-a-zA-Z0-9]+)/?$', 'myapp.views.getPost')

在您的 getPost 视图中,包含一个 slug 参数。

【讨论】:

  • 还是同样的错误。我完整的urls.py 文件是:from django.conf.urls.defaults import * from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^$', 'myapp.views.login_user'), url(r'^(?P[-a-zA-Z0-9]+)/?$', 'myapp.views.getPost'), (r'^accounts/', include('registration.backends.default.urls')), (r'^admin/', include(admin.site.urls)), )
  • @xan,看看我的更新。我认为您的其他网址是问题所在。有一个包含 ?P[ 的正则表达式失败。
猜你喜欢
  • 2018-06-27
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多