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’属性。
这就是当时的情况。
现在由于评论的帮助,问题已经解决了(发表了这篇帖子真是好事)。