Django學習(7):templates過濾器及Admin增強

目錄


原視頻教程鏈接

django入門與實踐(杜秉軒)


過濾器

語法

{{ value | filter }}

示例

將之前寫的edit_page.html進行修改如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Edit Page</title>
</head>
<body>
<form action="{% url 'blog:edit_action' %}" method="post">
    {% csrf_token %}
    <input type="hidden" name="article_id" value="{{ article.id | default:'0' }}">{# 隱藏表單存放article.id #}
    <lable>文章標題
        <input type="text" name="title" value="{{ article.title }}">
    </lable>
    <br>
    <lable>文章內容
        <input type="text" name="content" value="{{ article.content }}">
    </lable>
    <br>
    <input type="submit" value="提交">
</form>
</body>
</html>

這裏使用了{{ article.id | default:'0' }},可直接將新建文章id(爲‘0’),和修改文章id區別開,不需要冗餘的代碼。

Admin增強

創建Admin配置類

修改blog/admin.py

from django.contrib import admin
from .models import Article


# 創建Admin配置類
class ArticleAdmin(admin.ModelAdmin):
    list_display = ('title', 'content')  # 設置顯示字段


# 註冊
admin.site.register(Article, ArticleAdmin)

Admin過濾器

models.py中添加:

pub_time = models.DateTimeField(null=True)

blog/admin.py中添加:

    list_filter = ('pub_time',)

命令行輸入:

python manage.py makemigrations
python manage.py migrate

代碼倉庫

以上所有的代碼都在我的github上
django博客代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章