Admin
Admin
大部份网站都设计有管理后台,让管理者方便新增或异动网站内容。
而这样的管理后台,Django 也有内建一个 App -- Django Admin 。只需要稍微设定,网站就能拥有管理后台功能。
前一章,我们学会如何使用 Django Shell 和 QuerySet API ,对 Post 新增、修改及删除。而现在,我们要利用 Django Admin ,来达成类似的资料库操作。
完成本章后,你会瞭解如何设定 Django Admin,并使用 Django 管理后台,完成 Post 的新增、修改及删除。
设定管理后台
将 Django admin 加入 INSTALLED_APPS
后台管理的功能 Django 已预设开启。因此,设定档中 的 INSTALLED_APPS
裡,已经有 django.contrib.admin
这个 app :
# mysite/settings.py
INSTALLED_APPS = (
'django.contrib.admin',
...
)
当你在同步资料库时,也会建立需要的资料表及栏位。
设定管理后台的 URL
为了让你可以从浏览器进入管理后台,我们需要设定对应的 urls 。
我们将管理后台的网址设定为 /admin/
。确认 mysite/urls.py
中的 urlpatterns
包含下面这行:
url(r'^admin/', include(admin.site.urls)),
建立 superuser
要使用 Django 的管理后台,需要一个管理员帐号。
使用 createsuperuser 这个指令,建立一个 superuser:
(VENV) ~/djangogirls/mysite$ python manage.py createsuperuser
Username (leave blank to use 'YOUR_NAME'):
Email address: your_name@yourmail.com
Password:
Password (again):
Superuser created successfully.
输入帐号、Email、密码等资讯,就完成 superuser 的新增了。
注册 Model class
最后,我们需要在让 Django 知道,有哪些 Model 需要管理后台。
修改 trips app 裡的 admin.py,并注册 Post 这个 Model:
# trips/admin.py
from django.contrib import admin
from trips.models import Post
admin.site.register(Post)
使用管理后台
进入管理后台
连至 http://127.0.0.1:8000/admin,可以看到管理后台的登入页面:
请输入你刚创立的 superuser 帐号密码,进入管理后台:
第一个区块 Authentication and Authorization ,可以管理使用者 ( User ) 和 群组 ( Group ) ; 第二个 Trips 区块裡,则可以看到刚刚设定的 Post Model。在这裡可以执行 Post 的新增、修改、删除...等。
第一个区块 Authentication and Authorization ,可以管理使用者 ( User ) 和 群组 ( Group ) 使用者管理功能; 第二个 Trips 区块裡,则可以看到刚刚设定完成的 Post Model。在这裡可以执行 Post 的新增、修改、删除...等。
新增一个 Post
现在试著建立一个新的 Post 看看:
( 建议可以多新增几笔 Post ,在接下来的章节会用到。 )
小结
你应该己经学会:
- 设定 Django Admin
- 建立 superuser
- 注册 Model 至 Admin新学到的指令
本章新学到的指令
指令 | 说明 |
---|---|
python manage.py createsuperuser | 新增 Django 管理者帐号 |
更多建议: