與后臺相關(guān)的文件:每個(gè)app中的admin.py文件與后臺相關(guān)
下面是一個(gè)可以在后臺添加博客的栗子:
第一步:新建一個(gè) zjyd_admin項(xiàng)目
django-admin startproject zjyd_admin
第二步:創(chuàng)建一個(gè)blog的app
python manage.py startapp blog
第三步:講blog加入到settings.py中的INSTALLED_APPS中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
第四步:修改blog文件夾中的models.py
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(u'標(biāo)題',max_length=256)
content = models.TextField(u'內(nèi)容')
pub_date = models.DateTimeField(u'發(fā)表時(shí)間', auto_now_add=True, editable=True)
update_time = models.DateTimeField(u'更新時(shí)間', auto_now=True, null=True)
第五步:同步所有的數(shù)據(jù)表
# 進(jìn)入包含有 manage.py 的文件夾
python manage.py makemigrations
python manage.py migrate
第六步:修改admin.py
進(jìn)入 blog 文件夾,修改 admin.py 文件(如果沒有新建一個(gè)),內(nèi)容如下
from django.contrib import admin
from .models import Article
# Register your models here.
admin.site.register(Article)
只需要這三行代碼,我們就可以擁有一個(gè)強(qiáng)大的后臺!
提示:urls.py中關(guān)于 admin的已經(jīng)默認(rèn)開啟
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
第七步:打開服務(wù)器
python manage.py runserver
# 如果提示 8000 端口已經(jīng)被占用,可以用 python manage.py runserver 8001 以此類推
訪問 http://localhost:8000/admin/ 可以看到:

Paste_Image.png
輸入賬號密碼:

Paste_Image.png
點(diǎn)擊 Articles,動手輸入 添加幾篇文章,就可以看到:

Paste_Image.png
我們會發(fā)現(xiàn)所有的文章都是叫 Article object,這需要我們修改下blog中的models.py:
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(u'標(biāo)題',max_length=256)
content = models.TextField(u'內(nèi)容')
pub_date = models.DateTimeField(u'發(fā)表時(shí)間', auto_now_add=True, editable=True)
update_time = models.DateTimeField(u'更新時(shí)間', auto_now=True, null=True)
def __str__(self): #新增
return self.title #這兩句
我們新增了一個(gè) str 函數(shù),用于返回文章標(biāo)題。刷新頁面,結(jié)果:

Paste_Image.png
所以推薦在定義Model的時(shí)候,寫一個(gè) str函數(shù)。
八,在列表顯示與字段相關(guān)的其它內(nèi)容
如果我們還想顯示一些其他的字段:
from django.contrib import admin
from .models import Article
# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title','pub_date','update_time',)
admin.site.register(Article,ArticleAdmin)
結(jié)果:

Paste_Image.png