2018-01-08

django shell

django的交互式命令行程序。命令行中:python manage.py shell,然后
from blog.modelsimport Article
Article.object.all()
可以查看數(shù)據(jù)庫的內(nèi)容
也可以用來調(diào)試、測試未知方法。比如Article.object.all().values()不知道干嘛用,輸入到shell里會顯示出一個字典,,包含著所有變量和值。

admin加強

admin的功能很強大,再學(xué)兩個。第一個是在標(biāo)題后邊再加一欄顯示文章內(nèi)容或其他字段。修改admin.py:

from django.contrib import admin
from blog.models import Article
# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
    list_display = ('title','content')
admin.site.register(Article,ArticleAdmin)

其中l(wèi)ist_display里的是顯示的字段支持list和tuple(tuple只有1個元素也需要寫逗號),需要為字符串,而且與models里的Article類保持一致?,F(xiàn)在再來添加個更新日期,需要在Article類里新增這個字段。models.py里:


from django.db import models

# Create your models here.

class Article(models.Model):
    title = models.CharField(max_length=32,default='Title') 
    #此處max_length=32為必須輸入的參數(shù)
    content= models.TextField(null=True)
    #CharField和TextField被稱為字段。CharField一般用來做標(biāo)題,TextField一般用來做文章內(nèi)容。
    #其他字段和參數(shù)可去django官方文檔中看
    pub_time = models.DateTimeField(auto_now=True)
    def __str__(self):
        return self.title

每次更改models.py都需要shell里數(shù)據(jù)遷移。
python manage.py makemigrations
python manage.py migrate
新增了 pub_time = models.DateTimeField(auto_now=True)字段
如果想要在admin里修改它,則 pub_time = models.DateTimeField(null=True)
還有個功能,admin過濾器,admin.py:

from django.contrib import admin
from blog.models import Article
# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
   list_display = ('title','content','pub_time')
   list_filter = ('pub_time',)
admin.site.register(Article,ArticleAdmin)

這樣admin里能按日期篩選文章了。

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

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

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