zoukankan      html  css  js  c++  java
  • Django(自定义过滤器和自定义标签)

    • 模版是一个用django模版语言标记过的python字符串。模版可以包含模版标签和变量。
    • 模版标签是在一个模版里起作用的标记。比如,一个模版标签可以产生控制结构的内容(if或者for),可以获取数据库内容或者访问其它模版标签。
    • 一个标签块被{%%}包围
    • 变量标签被{{}}包围
    • context是一个传递给模版的key-value对。
    • 模版渲染是通过从context获取值来替换模版中变量并执行所有的模版标签。

    创建自定义标签目录

    首先在app底下创建一个templatetags目录,添加一下两个.py文件

    __init__.py 
    extra_tags.py
    目录结构如下

    在 setting 中作为app进行注册
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'blog',
        'mysites.templatetags',#作为app注册
    
    ]

    在extratags.py 中添加自定义过滤器

    from django import template
    
    register = template.Library()
    
    @register.filter(name='cut')  # 过滤器在模板中使用时的name
    def myCut(value, arg):  # 把传递过来的参数arg替换为'转换后'
        return value.replace(arg, '转换后')

    编辑试图函数,把value传递给模板文件

    def  index(request):
        return render(request, 'index.html',{'value':'Hello Small Nine'})

    添加urls 路由控制

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('login/',views.login),
        path('index/',views.index),
    ]

    最终启动结果显示

  • 相关阅读:
    继承与多态
    String作业
    课后作业及动手动脑
    作业3
    动手动脑
    实验任务四
    动手动脑
    课堂练习01
    《大道至简》第一章读后感伪代码
    C++常用编程关键字
  • 原文地址:https://www.cnblogs.com/mjiu/p/9763776.html
Copyright © 2011-2022 走看看