1.ROOT_URLCONF = '总路由所在路径(比如untitled.urls)'<===默认情况是这样 根路由的路径是可以修改的:ROOT_URLCONF = app01.urls<===根路由写在app01下面 2.静态文件引入的三种方式 一: <link rel="stylesheet" href="/static/dd/ssmycss.css"> 二: {% load static %} <link rel="st…
大纲 一.内容回顾 补充:默认值 补充:命名空间 二.模板语言 1.母版继承 2.include 3.自定义simple_tag 三.Cookie Cookie 使用总结 四.视图 1.获取用户请求相关信息以及请求头 2.CBV和FBV用户认证装饰器 二.模板语言 1.母版继承 母板:{% block title %}{% endblock %} 子板:{% extends "base.html" %} # 指定继承母版文件 {% block title %}{% endblock %…
静态文件引入的3中方式:例如对html模板里面对css样式的引入 STATIC_URL = '/static666/'STATICFILES_DIR=[ os.path.join(BASE_DIR,'static')] 目的是在settings里面名字变动时,模板里面能时时进行检测和变动,从而不影响页面css样式的加载 <head> <meta charset="UTF-8"> <title>模板的导入和继承</title> <!-…
母板和继承 母版 html页面,提取多个页面的公共部分 定义多个block块,需要让子页面进行填充 <head> {% block page-css %} {% endblock %} </head> <body> ​ <h1>这是母板的标题</h1> ​ {% block page-main %} # 设置block块,可以在模板中进行个性化设置 {% endblock %} ​ <h1>母板底部内容</h1> {% b…
1.新建文件夹templates(存放模板文件),新建文件夹media(存放js.css.images文件夹),并把两个文件夹放到了项目的根目录下 2.设定模板路径 设置模板路径比较简单,只要在setting.py里面的TEMPLATE_DIRS选项里面添加: import os.path TEMPLATE_DIRS = ( os.path.join(os.path.dirname(__file__), '../templates').replace('\\','/'), ) 这步的意思就是,在…
常用语法 {{  }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身. 变量 的命名包括任何字母数字以及下划线 ("_")的组合(不提倡数字开头). 变量名称中 不能有空格或标点符号. 点(.)在模板语言中有特殊的含义.当模版系统遇到点("."),它将以这样的顺序 查询: 字典查询(Dictionary lookup)…
Django---MTV和MVC的了解,Django的模版语言变量和逻辑,常见的模板语言过滤器,自定义过滤器,CSRF了解,Django的母版(继承extends,块block,组件include,静态文件的加载load static),自定义simple_tag和inclusion_tag 一丶MTV和MVC ​      MTV和MVC是一种软件架构,实现功能一样 MTV:在Django框架中使用       Model(模型):负责业务对象与数据库的对象(ORM)       Templa…
1.获取所有请求信息 导入模块:from django.core.handlers.wsgi import WSGIRequest request.environ:包含所有的请求信息,可以打印看一下,它是一个字典 2.html模板之继承(一个网页只能继承一个模板) 公用模板master.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">…
前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime(request):     now = datetime.datetime.now()     html = "<html><body>It is now %s.</body></html>"…
 1. 装饰器  1.    def wrapper(fn):    def inner(*args,**kwargs):     执行被装饰函数之前的操作     ret = fn(*args,**kwargs)     执行被装饰函数之后的操作          return ret     return inner          def yue(tools):    pass       yue = wrapper(yue)      print(yue(tools))    2. t…