美文网首页
Django 语法

Django 语法

作者: IPing | 来源:发表于2020-10-17 08:44 被阅读0次

取消外键检查

  • Django admin修改密码返回错误
    Cannot add or update a child row: a foreign key constraint fails (mxproject.django_admin_log, CONSTRAINT django_admin_log_user_id_c564eba6_fk_auth_user_id FOREIGN KEY (user_id) REFERENCES auth_user (id))'
DATABASES = {
    'default': {
        ....
        'OPTIONS': {
            "init_command": "SET foreign_key_checks = 0;",
        }
    }
}

templates 模板继承

1、继承母板:{% extends '母板html文件名称' %}
2、包含子模板:{% include '子母板html 文件名' %}

  • 模板内容分块 {% block <分块名> %}{% endblock %}
  • 对某一区域分块命名,继承模板时覆盖 “母板” 中的同名块儿 **{% block title %}{% endblock %}
    3、利用request 请求对象中内容,例如session {{ request.session.current_user }}
  • 自定义python函数应用于模板
  • (方法一:simple_tag)
    1、在app 目录下创建templatetags 目录(名称不可更改)**
    2、创建任意.py文件,如xxoo.py ,在文件内写自定义功能的函数。使用django.template.Library()创建register对象(对象名不可更改)
    使用 @register**.simple_tag 装饰自定义函数
    示例xxoo.py
from django import template
register = template.Library()
@register.simple_tag
def plus(a1, a2):
return a1 + a2

对象名必须为register
3、模板中使用 {% load '书写自定义函数的文件名' %}

  • 函数用法 {% 函数名 参数...%}
{% load xxoo %}
{% plus 1 3 %}

优点:参数个数没有限制,缺点:不能使用if语句

  • (方法二:filter)
    1、在app 目录下创建templatetags 目录(名称不可更改)
    2、创建任意.py文件,如xxoo.py ,在文件内写自定义功能的函数。使用django.template.Library()创建register对象(对象名不可更改)
    使用 @register.simple_tag 装饰自定义函数
    示例xxoo.py
from django import template
register = template.Library()

@register.filter** def plus(a1, a2): # 形参最多支持2个 return a1 + a2
3、模板中使用 {% load '书写自定义函数的文件名' %} 加载
函数用法:{{ 参数1|函数名:参数二 }}

html中语法示例:

{{ 2|plus:1 }}

优点:可以使用if语句 缺点:定义函数时参数个数最多两个,使用时参数1|函数名:参数2 之间不能有空格

{% if 2|plus:2  > 3 %} <span>大于3</span> {% endif %}

相关文章

  • Vue-element-admin 对接后端数据 django

    前端: VUE 语法:js后端: django 语法:python Vue-element-...

  • 1-关于vue的一些语法

    django有自己的模板语法,会与vue的语法冲突。暂时不用django后台了,改用node。 v-htmlv-o...

  • Django 语法

    取消外键检查 Django admin修改密码返回错误Cannot add or update a child r...

  • 分页

    分页 分页库Paginator的基本语法 django提供了分页的工具,存在于django.core中 Pagin...

  • Django之SQL从句中注入新子句

    extra 有些情况下,Django的查询语法难以简单的表达复杂的 WHERE 子句,对于这种情况, Django...

  • 3.Django模板语言

    Django模板语言 常用语法变量相关的用{{ }}逻辑相关的用{% %} 变量在Django的模板语言使用变量的...

  • django markdown语法

    django文章markdown化 如不转义出现html标签则在模板中将 {{text}} 改成 {{text|s...

  • Django Model 定义语法

    Django Model 定义语法 版本:1.7主要来源:https://docs.djangoproject.c...

  • linux4.1+python3.7+django2.1+mys

    最近在开发一个web服务,用了django2.1,由于django版本兼容python版本问题,版本不对应会有语法...

  • Vue + Django

    写在开头:1看这里的时候,请确保你已将熟悉JavaScript以及了解Vue的语法, Django的语法也略懂一二...

网友评论

      本文标题:Django 语法

      本文链接:https://www.haomeiwen.com/subject/gdmnpktx.html