DJango的备忘录:一开始使用(管理界面编辑)我的困惑点

从这次开始进入教程2。

http://www.djangoproject.jp/doc/ja/1.0/intro/tutorial02.html#intro-tutorial02

顺便提一下,虽然现在已经不再沉迷于这个,但我仍然会保留当时的内容不加改动。

顺便提一下,在我的环境中,Python的版本是2.7.5,DJango的版本是1.6。

使用管理页面

首先,请查看settings.py文件。

设置.py
# この部分
INSTALLED_APPS = (
     'django.contrib.admin',   # これが必要。自分の場合デフォルトで入っていたが
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'django.contrib.sites',
     'polls'
 )

如果进行追加的话,需要再次

python manage.py syncdb

执行之。好像是添加了应用程序就得添加数据库。
接下来编辑urls.py。在这里遇到了一点困难。

urls.py 文件

在教程中

from django.conf.urls.defaults import *

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^mysite/', include('mysite.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),
)

既然如此描述,暂且按照那样做吧。

python manage.py runserver

如果您访问 http://127.0.0.1:8000/admin/,应该会显示登录页面。
然而,结果出现了错误。错误信息是…

在/admin/出现的ImportError错误。

没有名为defaults的模块。

也许是因为版本的不同(教程设定为1.0,而我是1.6),我认为可以尝试恢复到编辑之前的状态。实际上,在编辑之前就有以下类似的描述。

from django.conf.urls import patterns, include, url   # デフォルトで入っていたimport文

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'myDj.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),   # どの例も()の前にurlが付いている
)

由于看起来在做的事情是一样的,我认为可能是写法改变了,于是启动并访问。
但是,结果还是失败了。不过错误信息和刚才不一样。

您在使用Django的“站点框架”时未设置SITE_ID设置,导致配置不正确。请在您的数据库中创建一个站点,并设置SITE_ID以修复此错误。

我不太明白。
我大概能理解要设定网站ID,但到底要怎么做呢?就算去谷歌搜索错误信息也没有什么头绪。

我试图用一种更中立的写作方式来采用苦肉之策。

from django.conf.urls import patterns, include, url   # ここは失敗しないほうを採用 

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # デフォルトの記法 url(r'^admin/', include(admin.site.urls))
    # チュートリアルの記法 (r'^admin/(.*)', admin.site.root)
    url(r'^admin/(.*)', include(admin.site.root))

然后,

在/admin/处发生了AttributeError错误。

‘AdminSite’对象没有’root’属性。

这就是当时的情况。

现在由于评论的帮助,问题已经解决了(发表了这篇帖子真是好事)。

广告
将在 10 秒后关闭
bannerAds