zoukankan      html  css  js  c++  java
  • Django学习(九)---Templates过滤器及Django shell和Admin增强

    一、Templates过滤器

    过滤器属于django模板语言

    修改模板中的变量,从而显示不同内容

    {{ value | filter }}

    举例:{{ list_nums | length}}    表示list的长度

    {{ value | filter | filter | filter }} 可叠加

    django模板如果出现了不存在的变量,不会报错,只会给出空值

    因此修改add_article.html   去掉{{% if *** %}} 添加过滤器default

    <!DOCTYPE html>
    <html>
    <head>
        <title>增加新文章</title>
    </head>
    <body>
    <form action="{% url 'blog:sub_article' %}" method="post">
        {% csrf_token %}
        
            <input type='hidden' name='article_id' value="{{ article.id | default:'0' }}">
            文章标题<input type="text" name='title' value='{{ article.title }}'/>
            <br>
            文章内容<input type="text" name='content' value='{{ article.content }}'/>
            <br>
            <input type="submit" value="提交">
        
    </form>
    </body>
    </html>

    二、Django shell

    Python交互式命令行程序

    自动引入项目环境

    可以使用它和项目进行交互

    启动django shell

    pyhton manage.py shell

    交互举例:

    from blog.models import Article

    Article.objects.all()

    作用:1)调试工作  2)测试未知的方法

    三、Admin增强

    注册Admin配置类:

    class ArticleAdmin(admin.ModelAdmin)

    注册:admin.site.register(models.Article,ArticleAdmin)

    显示其他字段

    list_diplay = ('title','content')   (就是models里的字段名)

    admin.py中如下:

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

    Admin过滤器

    list_diplay = ('pub_time',)

    注意tuple中只有一个成员,要加逗号

    在models。py中Article类添加发布日期

    from django.db import models
    
    # Create your models here.
    class Article(models.Model):
        title = models.CharField(max_length=32,default='title')
        content = models.TextField(null=True)
        pub_time = models.DateTimeField(auto_now=True)
    
        def __str__(self):
            return self.title

    数据移植(才可以在数据库中显示)

    执行  python manage.py makemigrations

    再执行 python manage.py migrate

    生成了数据表

    在admin.py中添加过滤器:

    from django.contrib import admin
    from . import models
    # Register your models here.
    class ArticleAdmin(admin.ModelAdmin):
        list_display = ('title','content','pub_time')
        list_filter = ('pub_time',)
    
    admin.site.register(models.Article,ArticleAdmin)
  • 相关阅读:
    白盒测试相关技术图架构
    LoadRunner面试题
    调用标准API抓取错误信息
    请求的报的一般错误:One or more post-processing actions failed. Consult the OPP service log for details.
    xml publisher笔记
    CREATE_RECORD或者NEXT_RECORD导致 FRM-40102 错误:记录必须首先被输入或者删除
    国外博士论文下载
    数据挖掘网络资源集合
    十大数据挖掘算法
    (转)数据挖掘——我们能从股市数据得出什么,以及一些算法
  • 原文地址:https://www.cnblogs.com/Lovebugs/p/7199423.html
Copyright © 2011-2022 走看看