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博客代码

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