设为首页 加入收藏

TOP

Django之模板层(二)
2019-01-02 00:09:01 】 浏览:136
Tags:Django 模板
put
type="submit"> </form> </body>
我们之前在以post请求方式提交表单,必须在环境变量中修改设置,这是一种方法,但你这一该,以后所有的post请求都可以提交了,但我不想让所有的都可以提交,只让这一个提交咋办呢
此时我们就不要把环境变量中修改了,只需在form表单里写上{% csrf_token %}就行了

  四、自定义标签和过滤器

  1,在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的标签和过滤器,但一般在创建app时,django会自动帮你配置,就不用自己去配置

  2,在app中创建templatetags模块(模块名只能是templatetags)

  3,创建py文件,如:my_tags.py

from django import template
register=template.library()
@register.filter
def filter_multi(v1,v2):
    return v1*v2
@register.simple_tag
def simple_tag_multi(v1,v2):
    return v1*v2

  4,在使用使用自定义的之前要导入创建的my_tags.py

{% load my_tags %}

  5,使用自定义的

{{ num|filter_multi:3 }}
后面只能跟一个参数,可以跟上一个列表,所以在定义时,也只能定义两个参数 {
% simple_tag_multi 2 3 %}
可以跟上任意个参数,以空格隔开就行,所以在定义时可以定义多个参数

  五、继承

  我们在浏览网页时,会发现很多网页的大体都一样,比如电影天堂,你点进每个电影的页面时,除了没得电影的内容不一样之外,其他都一样,对于这种情况,我们是不需要每个电影都要完整的写HTML标签,可以先写一个样板,把不一样的地方,或者需要变化的地方写成block,然后在每个电影的HTML文件中再具体在block进行修改就行了,而且每个电影的HTML只需要学变化的地方就行,其他的继承样板的就行。

样板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}
        title
    {% endblock %}</title>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- 最新的 Bootstrap 核心 java script 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .head{
            width: 100%;
            height: 50px;
            background-color: indigo;
            color: white;
            font-size: 30px;
            line-height: 50px;
        }
    </style>
</head>
<body>
    <div class="head">爱读书欢迎你</div>
    <div>
        <div class="left col-md-2">
            <div class="panel panel-default">
                <div class="panel-heading">
                <h3 class="panel-title">菜单</h3>
                </div>
                <div class="panel-body">
                    <p><a href="{% url 'shouye' %}">首页</a></p>
                    <p><a href="{% url 'wenxue' %}">文学</a></p>
                    <p><a href="{% url 'shige' %}">诗歌</a></p>
                    <p><a href="{% url 'xiaoshuo' %}">小说</a></p>
                </div>
            </div>
        </div>
        <div class="right col-md-10">
        {% block content1 %}
            <div class="container">
                <table class="table table-bordered&qu
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python装饰器2:进阶 下一篇python装饰器(新年第一写)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目