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

网站的优化和推广方案深圳网络推广网站推广

网站的优化和推广方案,深圳网络推广网站推广,如何向谷歌提交网站,技术支持 合肥网站建设文章目录 3 模板3.1 模板基本使用3.2 模板结构组织3.3 模板进阶 3 模板 模板(template):包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。 3.1 模板基本使用 HTML实体:https://dev.w3.org/html5/htm…

请添加图片描述

文章目录

  • 3 模板
    • 3.1 模板基本使用
    • 3.2 模板结构组织
    • 3.3 模板进阶


3 模板

模板(template):包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。

3.1 模板基本使用

HTML实体:https://dev.w3.org/html5/html-author/charref

Jinja2定界符

  • 语句:{% ... %}
  • 表达式:{{ ... }}
  • 注释:{# ... #}

:适度使用模板,仅放和输出控制有关的逻辑操作。

补充render_template()中,也可以传入python函数,并在模板中调用。

上下文

  • 在模板中定义变量:使用set标签。(p80)
  • 内置上下文变量:config,request,session,g。
  • 自定义上下文@app.context_processor ,等(p81)

全局对象

  • Flask内置模板全局函数url_for()用于生产URL,get_flashed_messages()用于获取flask消息。

自定义全局函数@app.template_global()装饰器

过滤器修改过滤变量值的特殊函数。

{{ name|title }}
{% filter upper %}This itext becomes upperase.
{% endfilter %}

Jinja2常用内置过滤器(p83)

  • 自定义过滤器@app.emplate_filter()

测试器:测试变量或表达式,返回布尔值 ,使用@app.template_test()自定义。

{% if foo is sameas(bar) %}...

模板环境对象:控制渲染行为,包含配置选项、上下文变量、全局函数(globals)、过滤器(filters)、测试器(tests),在app.jinja_env属性。

# 添加自定义全局对象 
def bar():return 'I am bar.'app.jinja_env.globals['bar'] = bar

3.2 模板结构组织

局部模板:减少代码重复。在ajax请求中可以只返回一个局部模板,而不是整个页面。

{% include '_banner.html' %}

:(macro)类似函数,也为了代码重用。

  • 注意include会自动传递上下文;而import不会,需要显示传递。
{% from 'macros.html' import qux with context%}
...
{{ qux(amount=5) }}

模板继承:在基模板中定义基本的HTML结构,而子模板只需要对特定的块进行修改(覆盖或追加{{ super() }})。(p90)

{% extends 'base.html' %}
{% block content %}
...
{% endblock content %}

3.3 模板进阶

空白控制:模板中的Jinja2语句会保留移除后的空行,但不影响浏览器的解析。可以使用工具去除空白,减小文件体积,提高数据传输速度。

{%- endif %}

加载静态文件:默认存放在主脚本同级目录的static文件夹中,使用url_for()函数获取。Flask内置了用于获取静态文件的视图函数,端点值为static

{{ url_for('static', filename='avatar.jpg') }}
  • Favicon:浏览器在标签页、地址栏、收藏夹等处显示的小图标。(p96)
  • CDN加载静态资源更方便
  • 可以创建一个专门用于加载静态资源的

疑惑:对favicon的请求是自动的吗,所有项目都有?

消息闪现:在视图函数调用flash()函数,你的消息将存储在session中,然后再模板中使用全局函数get_flashed_messages()获取消息并显示,调用后会清空session中的消息。

{% for message in get_flashed_messages() %}{{ message }}
{% endfor %}
  • 文本字符串编码问题:(p98)

自定义错误页面:默认的简陋错误页面往往另用户不知所措,我们可以注册错误处理函数来自定义错误页面。

@app.errorhandler(404)
def page_not_found(e):return render_template('errors/404.html'), 404

JavaScript和CSS中的Jinja:有时需要再JavaScript或CSS代码中使用Jinja2提供的变量,如我们希望将用户设置的主题颜色设置到对应的CSS规则中。

  • 只有使用render_template()传入的模板文件才会被渲染,而在javascript、css文件中引入的Jinja2代码不会被执行。(?)

  • 1、嵌入式Javascript/CSS:在模板文件中,使用<style><script>标签定义这部分代码。

  • 2、定义为Javascript/CSS变量

{# 定义JavaScript变量 #}
<script type="text/javascript">var foo = '{{ foo_variable }}';
</script>{# 定义CSS变量 #}
<sytle>
:root {--theme-color: {{ theme_color }};
}

http://www.yidumall.com/news/13573.html

相关文章:

  • 时尚工作室网站源码网络营销的现状
  • 学做网站零基础chatgpt入口
  • 顺德做网站公司哪家好电视剧排行榜百度搜索风云榜
  • php网站建设考试seo如何优化网站
  • 注册新公司需要多少钱优化大师使用心得
  • 网站建设与网页设计...如何做网页设计
  • 简易静态网站制作流程图福州百度推广电话
  • phpstudy网站建设教程北京网站优化页面
  • hph做动态网站广告联盟推广
  • 云服务器可以做视频网站吗爱站网 关键词挖掘工具站长工具
  • 互联网建站是什么百度宣传广告要多少钱
  • 佛山网站制作哪家好培训学校加盟费用
  • 内存做硬盘缓存软件网站做一个推广网站大概多少钱
  • 郑州汉狮做网站报价南宁网站推广营销
  • 网页网站原型图占位符怎么做有没有好用的网站推荐
  • 腾讯企点有风险吗优化设计官网
  • 北京网站设计我选柚米b2b电子商务平台网站
  • 朝阳市网站建设深圳网站关键词排名优化
  • 建设项目seo做的比较好的公司
  • 阿里云域名注册服务网站太原网站建设
  • 西安市做网站推广方案模板
  • 动态网站做登录界面创意设计
  • 怎么做网站代理商福州网seo
  • 怎么给网站添加音乐网站整体优化
  • 沐众科技网站建设网络营销与传统营销有哪些区别
  • 自己的网站首页背景怎么做东莞网络优化哪家公司好
  • 网站交互用什么做网络营销的优势与不足
  • 可以做淘宝客的网站有哪些2022十大热点事件及评析
  • chat gpt 国内版aso优化师
  • 1企业网站案例百度seo推广计划类型包含