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

    最终启动结果显示

  • 相关阅读:
    node-webkit 笔记
    CEF 相关资料
    输出重定向
    FindProcDLL::FindProc 和 KillProcDLL::KillProc,必须使用WPF x86编译出来的程序
    wpf xaml inlines
    Gradle 笔记
    Android手机的 storage
    SpringMVC 工作原理详解
    SpringMVC 面试题
    18、多线程 (线程安全、线程同步、等待唤醒机制、单例设计模式)
  • 原文地址:https://www.cnblogs.com/mjiu/p/9763776.html
Copyright © 2011-2022 走看看