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),
    ]

    最终启动结果显示

  • 相关阅读:
    Python小工具:统计代码行数
    计算机图形学复习(一)
    牛客多校训练第一场 J.Different Integers
    数据校验码概述
    数据库复习第二章
    数据库复习第一章
    自动化AC器(带界面版)
    ZOJ 3747 Attack on Titans
    Codeforces Round #245 (Div. 1) B. Working out
    HDU 6266 Hakase and Nano 【博弈论】
  • 原文地址:https://www.cnblogs.com/mjiu/p/9763776.html
Copyright © 2011-2022 走看看