当前位置: 首页 > news >正文

门户网站制作方法管理类网站开发价格

门户网站制作方法,管理类网站开发价格,沈阳网站建设的公司,上海中心设计公司是谁三、Django模板 模板Templates 在Django框架中#xff0c;模板是可以帮助开发者快速生成呈现给用户页面的工具 模板的设计方式实现了我们MVT中VT的解耦(M:Model#xff0c;V:View#xff0c;T:Template)#xff0c;VT有着N:M的关系#xff0c;一个V可以调用任意T#xf…三、Django模板 模板Templates 在Django框架中模板是可以帮助开发者快速生成呈现给用户页面的工具 模板的设计方式实现了我们MVT中VT的解耦(M:ModelV:ViewT:Template)VT有着N:M的关系一个V可以调用任意T一个T可以供任意V使用 模板处理分为两个过程 加载HTML渲染数据 render() 模板主要有两个部分 HTML静态代码 模板语言动态插入的代码段(挖坑填坑) {{ name }} 模板中的动态代码段除了做基本的静态填充还可以实现一些基本的运算转换和逻辑 静态页面: 页面数据是本地固定的 动态页面: 页面数据来源于后台服务器 模板中的变量:视图传递给模板的数据遵守标识符规则 ​ 语法:{{ var }} ​ 如果变量不存在则插入空字符串 方法不能有参数 ​ {{ str }} ​ {{ str.upper }} # 不能带括号 ​ {{ str.isdigit }} ​ {{ dict.key }} 列表,使用索引,不允许使用负索引 ​ items [‘apple’ ‘bananas’] ​ {{ items.1 }} MVC软件设计模式: Model(数据库),View(界面),Controller(控制器,相当于Django的视图函数)MVT : M:Model(数据库)V:View视图函数T:Template(界面) 模板中的标签 ​ 语法: {{% tag %}} 作用: 加载外部传入的变量在输出中创建文本控制循环或逻辑 if 语句:格式: if单分支{% if表达式 %} 语句 {% endif %}if双分支{% if表达式 %} 语句 {% else %} 语句2 {% endif %}if多分支{% if表达式 %} 语句 {% elif表达式 %} 语句2 {% else %} 语句3 {% endif %}判断true或者false(可以使用and or not in,语法与python类似){% if tody_is_weekend %}\pWelcome to the weekend!!!\/p{% endif %}使用 in 和 not in{% if user in users %}\pUser已经存在/p{% endif %}for 语句{% for 变量 in 列表 %}语句1{% empty %}语句2{% endfor %}当列表为空或者不存在的时候,执行empty后的语句forloop.counter示例{% forloop.counter %} 表示当前是第几次循环,从1开始 {% for item in todo_list %}p {{forloop.counter}} : {{ item }} /p {% endfor %}{{ forloop.counter0 }}表示当前是第几次循环从0开始{{ forloop.revcounter }}表示当前是第几次循环倒着数数到1停{{ for1oop.revcounter }}表示当前第几次循环倒着数到0停{{ forloop.first }}是否是第一个 布尔值{% for object in objects %}{% if forloop.first %}li classfirst{{ object }}/li{% else %}li{{ object }}/li{% endif %} {% endfor %}{% for link in links %}{{ link }}{% if not forloop.last %}|{% endif %} {% endfor %}forloop.parentloop示例 {% for country in countries %} table{% for city in country.city_list %}trtdCountry #{{ forloop.parentloop.counter }}/tdtdCity #{{ forloop.counter }}/tdtd{{ city }}/td/tr{% endfor %} /table {% endfor %}注释:单行注释{# 被注释掉的内容 #}多行注释{% comment %} 多行内容 {% endcomment %}过滤器:{{ var|过滤器 }}作用: 在变量显示前修改add:{{ value|add:2 }}没有减法过滤器但加法里可以加负数{{ value|add:-2 }} lower:{{ name|lower }} upper:{{ my_list|fisrt|upper }} 将my_list的第一个值变成大写 截断:{{ bio|truncatechars:30 }}过滤器可以传递参数参数需要使用引号引起来,比如join:{{ students|join: }}默认值: default格式{{ var|default:value }}如果变量没有被提供或者为False空会使用默认值根据指定格式转换日期为字符串处理时间的就是针对date进行的转换{{ dateVal | date:y-m-d}}HTML转义:将接收到的数据当成普通字符串处理还是当成HTML代码来渲染的一个问题渲染成html:{{ code|safe }} 关闭自动转义 {% autoescape off %}code{% endautoescape %} 打开自动转义转义{% autoescape on %}code{% endautoescape %}模板继承:block:{% block XXX %}code{% endblock %}extends 继承写在开头位置{% extends父模板路径%}include:加载模板进行渲染{% include模板文件%}{{ block.super }}:获取父模板中block中的内容在Django模板中使用jinja2模板引擎 Jinja2是之前我们在Flask框架讲过的一个模板引擎是模仿Django默认模板引擎基础上开发的比Django模板引擎性能更好功能更全. jinja2宣称比django默认模板引擎快10-20倍。Django也支持jinja2 1.安装jinja2模块 pip install jinja22.在settings.py所在的目录中创建jinja2_env.py文件,并写入以下内容 from django.templatetags.static import static from django.urls import reverse from jinja2 import Environmentdef environment(**options):env Environment(**options)env.globals.update({static: static,url: reverse,})return env3.修改项目的settings.py文件 原本的不能删除 TEMPLATES [# 使用jinja2模板引擎{BACKEND: django.template.backends.jinja2.Jinja2,DIRS: [],APP_DIRS: True,OPTIONS: {# 这里要添加environment变量,指向自定义的jinja2环境,DjangoPro2项目目录下的jinja2_env.py文件里面的environment函数environment: DjangoPro2.jinja2_env.environment,context_processors: [django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,],},},# 原来自带的Django模板引擎{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [],APP_DIRS: True,OPTIONS: {context_processors: [django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,],},}, ]4.在修改Pycharm中settings的模板语言为Jinja2 创建html文件,使用Jinja2语法 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleJinja2模板语言/title /head bodyh2Jinja2模板语言/h2hrpname {{ name }}/p{% for n in name %}b{{n}}/b{% endfor %}hr{% for n in name %}div{{loop.index}} : {{n}}/div{% endfor %}{# Jinja2是可以使用带括号的函数调用的 #}{% for i in range(1, 10) %}div{{i}}/div{% endfor %}/body /html注意: 这只是一个简单的Jinja2模板语法示例,要使用更多语法,可以查阅以下资料 深入剖析Jinja2语法高效开发的关键技巧_jinja2 函数-CSDN博客欢迎来到 Jinja2 — Jinja2 2.7 documentation
http://www.w-s-a.com/news/148946/

相关文章:

  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作
  • 高州市网站建设开发区招聘信息
  • 上海专业网站制作设计公司企业邮箱怎样注册
  • 网站建设在商标第几类网站建设 设计创意
  • 做一网站APP多少钱重庆中色十二冶金建设有限公司网站
  • 网上做效果图网站有哪些软件徐州泉山区建设局网站
  • 凯里网站制作网站篡改搜索引擎js
  • 如何使用凡科建设网站武安城乡建设网站
  • 网站建设网站及上传wordpress火车头发布
  • 有没有做网站的团队电脑版传奇网站
  • 建立企业网站公司医疗创意小产品设计
  • 深圳 做网站 车公庙免费的招标网有哪些
  • 网站在那里备案成都成华区网站建设
  • 做网站选哪家好搜索引擎优化的目标体系包括哪些
  • 做数据可视化的网站ppt2016是制作网页的软件
  • 济宁市建设工程质量监督站网站徐州网站优化推广
  • 北京网站设计多少钱php做商品网站
  • 能打开的网站你了解的彩票网站开发dadi163
  • 手机做网站价格优秀企业网站建设价格
  • 电商网站建设企业做网站的客户多吗
  • 有做思维图的网站吗西安建设市场诚信信息平台网站
  • 网站建设求职具备什么30岁学网站开发
  • 官方网站minecraft北京低价做网站