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

本地dedecms网站小制作小发明视频教程

本地dedecms网站,小制作小发明视频教程,东莞教育平台网站建设,毕业设计做网站 服务器怎么弄1. 代码结构优化#xff1a;StructureA 最初的 Flask 项目结构适用于小型应用#xff0c;但不适用于大型应用。为了改进代码结构#xff0c;我们将 URL 管理应用拆分为多个模块。 1.1 StructureA 目录结构 StructureA |-- .flaskenv |-- app.py |-- views.py |-- templat…1. 代码结构优化StructureA 最初的 Flask 项目结构适用于小型应用但不适用于大型应用。为了改进代码结构我们将 URL 管理应用拆分为多个模块。 1.1 StructureA 目录结构 StructureA |-- .flaskenv |-- app.py |-- views.py |-- templates|-- base.html|-- home.html|-- list.htmlapp.py 负责初始化 Flask 应用views.py 负责定义视图函数templates/ 存放 HTML 模板 1.2 视图文件views.py from flask import render_template from app import appapp.route(/) def home():return render_template(home.html, nameAlan)app.route(/mylist) def my_list():lst [Car, House, TV]return render_template(list.html, lstlst)app 变量需要在 views.py 导入前初始化否则会导致 app 未定义的错误。 1.3 基础模板base.html !DOCTYPE html html langen headmeta charsetUTF-8titleStructureA/title /head bodydiva href{{ url_for(home) }}Home/aa href{{ url_for(my_list) }}List/a/div{% block body %}{% endblock %} /body /html使用 url_for() 生成导航链接使代码更具可维护性。 1.4 主页模板home.html {% extends base.html %}{% block body %} h1Hello {{ name }}/h1 {% endblock %}1.5 列表页模板list.html {% extends base.html %}{% block body %} h1My List/h1 ul{% for item in lst %}li{{ item }}/li{% endfor %} /ul {% endblock %}1.6 应用入口app.py from flask import Flask from jinja2 import StrictUndefinedapp Flask(__name__) app.jinja_env.undefined StrictUndefinedimport viewsFlask app 需要在 views.py 之前初始化。这样组织代码会导致导入复杂化并可能出现 循环导入 问题因此需要更好的结构。 2. Python 模块与导入机制 Python 文件可以作为模块导入其他 Python 文件。模块是包含变量、函数或类定义的文件每个模块都有自己的命名空间。 2.1 模块的导入方式 import x # 导入模块 x使用 x.y 访问其内部成员 from x import y, z # 直接导入 y, z不需要加 x.模块首次导入时Python 会执行该文件中的所有语句这可能导致意外的副作用。循环导入 是大型项目中的常见问题例如 # a.py import b # 这里导入了 b.py# b.py import a # 这里导入了 a.pyPython 发现 a 还没有完全加载会导致 b 不能正确导入 a 中的对象从而引发错误。 3. 代码结构优化StructureB 为了更好的管理项目我们采用 包Package 来组织代码。 3.1 StructureB 目录结构 StructureB |-- .flaskenv |-- run.py |-- app|-- __init__.py|-- views.py|-- templates|-- base.html|-- home.html|-- list.htmlapp/ 变成了一个 Python 包其中包含 __init__.py 作为包的初始化文件。run.py 作为应用的入口点。 3.2 应用入口run.py from app import apprun.py 仅用于导入 app然后 Flask 运行 app 作为应用实例。 3.3 应用初始化init.py from flask import Flask from jinja2 import StrictUndefinedapp Flask(__name__) app.jinja_env.undefined StrictUndefinedfrom app import views这里的 app 在 __init__.py 中定义使得整个 app/ 目录成为一个包。好处 允许在 app/ 目录中添加多个模块而不会导致导入冲突。避免 app.py 直接执行时的循环导入问题。 4. Flask 中的静态文件与数据文件 4.1 静态文件static/ Flask 默认会寻找 static/ 目录来提供静态资源如 CSS、JS、图片等。 访问静态文件 img src{{ url_for(static, filenameimages/pic.jpg) }}url_for(static, filename…) 使得路径动态生成更易维护。 4.2 数据文件data/ Flask 没有 data/ 目录的特殊约定但它通常用于存储不可通过 URL 访问的文件如数据库、文本文件等。 推荐的访问方式 with app.open_resource(data/quotes.txt) as file:app.globals_quotes [line.strip() for line in file]存入 Flask 全局对象 app.globals_quotes some_data5. 总结 改进点StructureAStructureB代码组织扁平结构所有代码在 app.py 中采用包结构app/ 作为 Flask 应用视图管理直接在 app.py 中定义views.py 独立存放启动方式python app.pypython run.py代码可维护性易出现循环导入问题结构清晰模块化管理 6. Flask 项目最佳实践 使用包结构 (app/ __init__.py)避免循环导入问题。将视图拆分为模块避免 app.py 过大。使用 static/ 存放静态文件并通过 url_for() 生成链接。使用 data/ 存放非 URL 访问的数据并通过 app.open_resource() 读取。
http://www.w-s-a.com/news/847451/

相关文章:

  • 台州企业网站搭建价格做留言的网站
  • 西安网站建设q.479185700強高端网站设计定制公司
  • 网站设计是平面设计吗音频文件放到网站空间里生成链接怎么做
  • seo是对网站进行什么优化可以在哪些网站做翻译兼职
  • 南宁seo网站推广服务网站建设客户分析
  • 网站属于什么公司甜品售卖网站网页设计
  • 如何在宝塔中安装wordpressseo1888网站建设
  • 网站系统cms湖南平台网站建设制作
  • 美团网站怎么做未备案网站加速
  • 通用cms网站wordpress可以商用
  • 阳江网络问政平台 周报济南seo公司案例
  • 重庆聚百思网站开发网络市场调研
  • seo工具共享网站敬请期待的英语
  • 最好看免费观看高清大全中国移动网络优化做什么的
  • 网站开发的步骤医院网站建设细节
  • 阿雷网站建设wordpress lucene
  • seo做多个网站建筑公司企业标语
  • 各大网站收录查询汕尾手机网站设计
  • 东莞网站平台费用58同城推广能免费做网站吗
  • 网站建设的组织机构做博客网站赚钱吗
  • 移动网站建设的前期规划内容南阳网站备案
  • 天津公司网站建设公司哪家好网站建设评估
  • 猪八戒网网站建设wordpress建网 打不开
  • 廊坊网站排名优化报价自学网站建设和seo
  • 摄影网站开发背景vs2012做网站
  • 网站建设空间使用标准沈阳网站建设招标公司
  • 网站流量怎么做的成都山而网站建设公司
  • 天河区网站建设公司爱站网排名
  • 怎样开发设计网站建设博物馆网页设计案例
  • 山西建设厅网站查不了seo搜索引擎优化包邮