看我多久能學(xué)會Django(六):Django后臺

與后臺相關(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容