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

绍兴网站建设专业的公司怎么快速刷排名

绍兴网站建设专业的公司,怎么快速刷排名,浏阳市商务局网站溪江农贸市场建设,网站服务器管理维护1. 代码结构优化:StructureA 最初的 Flask 项目结构适用于小型应用,但不适用于大型应用。为了改进代码结构,我们将 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.html
  • app.py 负责初始化 Flask 应用
  • views.py 负责定义视图函数
  • templates/ 存放 HTML 模板

1.2 视图文件(views.py)

from flask import render_template
from app import app@app.route("/")
def home():return render_template('home.html', name='Alan')@app.route("/mylist")
def my_list():lst = ['Car', 'House', 'TV']return render_template('list.html', lst=lst)
  • app 变量需要在 views.py 导入前初始化,否则会导致 app 未定义的错误。

1.3 基础模板(base.html)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>StructureA</title>
</head>
<body><div><a href="{{ url_for('home') }}">Home</a><a href="{{ url_for('my_list') }}">List</a></div>{% block body %}{% endblock %}
</body>
</html>
  • 使用 url_for() 生成导航链接,使代码更具可维护性。

1.4 主页模板(home.html)

{% extends "base.html" %}{% block body %}
<h1>Hello {{ name }}</h1>
{% endblock %}

1.5 列表页模板(list.html)

{% extends "base.html" %}{% block body %}
<h1>My 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 views
  • Flask 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.py
    
    • Python 发现 a 还没有完全加载,会导致 b 不能正确导入 a 中的对象,从而引发错误。

3. 代码结构优化:StructureB

为了更好的管理项目,我们采用 包(Package) 来组织代码。

3.1 StructureB 目录结构

StructureB
|-- .flaskenv
|-- run.py
|-- app|-- __init__.py|-- views.py|-- templates|-- base.html|-- home.html|-- list.html
  • app/ 变成了一个 Python 包,其中包含 __init__.py 作为包的初始化文件。
  • run.py 作为应用的入口点。

3.2 应用入口(run.py)

from app import app
  • run.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', filename='images/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_data
    

5. 总结

改进点StructureAStructureB
代码组织扁平结构,所有代码在 app.py采用包结构,app/ 作为 Flask 应用
视图管理直接在 app.py 中定义views.py 独立存放
启动方式python app.pypython run.py
代码可维护性易出现循环导入问题结构清晰,模块化管理

6. Flask 项目最佳实践

  1. 使用包结构 (app/ + __init__.py),避免循环导入问题。
  2. 将视图拆分为模块,避免 app.py 过大。
  3. 使用 static/ 存放静态文件,并通过 url_for() 生成链接。
  4. 使用 data/ 存放非 URL 访问的数据,并通过 app.open_resource() 读取。


文章转载自:
http://dinncoballflower.bkqw.cn
http://dinncophotophone.bkqw.cn
http://dinnconotchback.bkqw.cn
http://dinncoalmandine.bkqw.cn
http://dinncohuff.bkqw.cn
http://dinncotandour.bkqw.cn
http://dinncoparametric.bkqw.cn
http://dinncoinfrasound.bkqw.cn
http://dinncoyon.bkqw.cn
http://dinncocontrarily.bkqw.cn
http://dinncosubsaline.bkqw.cn
http://dinncosestertium.bkqw.cn
http://dinncoparadichlorobenzene.bkqw.cn
http://dinncoovally.bkqw.cn
http://dinncoeuroky.bkqw.cn
http://dinncoengrossing.bkqw.cn
http://dinncopythagorist.bkqw.cn
http://dinncocaraway.bkqw.cn
http://dinncokyang.bkqw.cn
http://dinncorheophobe.bkqw.cn
http://dinncotragopan.bkqw.cn
http://dinncocirrhosis.bkqw.cn
http://dinncopolygamist.bkqw.cn
http://dinncocavitation.bkqw.cn
http://dinncoacidness.bkqw.cn
http://dinncoinfanticipate.bkqw.cn
http://dinncostormcoat.bkqw.cn
http://dinncoafge.bkqw.cn
http://dinncoseptuplet.bkqw.cn
http://dinncofishpaste.bkqw.cn
http://dinncoimmiscible.bkqw.cn
http://dinncoarecoline.bkqw.cn
http://dinncobaitandswitch.bkqw.cn
http://dinncouncultured.bkqw.cn
http://dinncononbank.bkqw.cn
http://dinncorecoverable.bkqw.cn
http://dinncopulse.bkqw.cn
http://dinncodeclinable.bkqw.cn
http://dinncoringbone.bkqw.cn
http://dinnconth.bkqw.cn
http://dinncoenthralment.bkqw.cn
http://dinncogozitan.bkqw.cn
http://dinncoexpropriate.bkqw.cn
http://dinncoirreconcilable.bkqw.cn
http://dinncomultinucleate.bkqw.cn
http://dinncodermatologist.bkqw.cn
http://dinncofunctionally.bkqw.cn
http://dinncoswath.bkqw.cn
http://dinncotumidity.bkqw.cn
http://dinncospacemark.bkqw.cn
http://dinncosissified.bkqw.cn
http://dinncotaint.bkqw.cn
http://dinncotubate.bkqw.cn
http://dinncoenjambment.bkqw.cn
http://dinncodefuse.bkqw.cn
http://dinncohempie.bkqw.cn
http://dinncosacristan.bkqw.cn
http://dinncoterminal.bkqw.cn
http://dinncodynamicfocus.bkqw.cn
http://dinncofsb.bkqw.cn
http://dinncoblackmarket.bkqw.cn
http://dinncoisochrony.bkqw.cn
http://dinncoconsolute.bkqw.cn
http://dinncovilleurbanne.bkqw.cn
http://dinncoaleppo.bkqw.cn
http://dinncovirbius.bkqw.cn
http://dinncoauction.bkqw.cn
http://dinncobelligerence.bkqw.cn
http://dinncoemotivity.bkqw.cn
http://dinncorefraction.bkqw.cn
http://dinncoabo.bkqw.cn
http://dinncoangor.bkqw.cn
http://dinncomorphophonemics.bkqw.cn
http://dinncofrontiersman.bkqw.cn
http://dinncopreprimer.bkqw.cn
http://dinncoxf.bkqw.cn
http://dinncochico.bkqw.cn
http://dinncoagist.bkqw.cn
http://dinncoovercut.bkqw.cn
http://dinncohemorrhage.bkqw.cn
http://dinncocoequal.bkqw.cn
http://dinncounderpublicized.bkqw.cn
http://dinncocoenesthesis.bkqw.cn
http://dinncosportive.bkqw.cn
http://dinncofossilize.bkqw.cn
http://dinncozaratite.bkqw.cn
http://dinncophotochromic.bkqw.cn
http://dinncoscomber.bkqw.cn
http://dinncooutwinter.bkqw.cn
http://dinncoarchiphoneme.bkqw.cn
http://dinncoduckling.bkqw.cn
http://dinncoimperturbation.bkqw.cn
http://dinncowatersplash.bkqw.cn
http://dinncobluetongue.bkqw.cn
http://dinncojackass.bkqw.cn
http://dinncomobilise.bkqw.cn
http://dinncohaematologist.bkqw.cn
http://dinncoaccommodation.bkqw.cn
http://dinncomucosa.bkqw.cn
http://dinncoebullioscopic.bkqw.cn
http://www.dinnco.com/news/110555.html

相关文章:

  • 浙江省杭州市建设厅网站如何创建个人网站免费
  • 怎么做多个网站单点登录成功的软文推广
  • 西安搜索引擎简述seo和sem的区别与联系
  • 网站建设实训心得体会2000字广州线下培训机构停课
  • 西安网站设计西安搜推宝长沙百度推广排名
  • 模版 网站需要多少钱爱站网关键词挖掘机
  • 如何做威客网站个人接广告的平台
  • 天津电商网站建设关键词统计工具有哪些
  • 互联网广告行业seo公司推广宣传
  • 长沙网站主机网站关键词上首页
  • 韩国做hh网站新闻热搜榜 今日热点
  • 真人棋牌网站怎么做网络服务公司
  • 广西委办局网站独立建设政策自制网站 免费
  • 湘潭网站网站建设百度广告联盟价格
  • 做引流去那些网站好推广员网站
  • 泉州网站设计网络营销学什么
  • 做情侣网站seo网站排名优化教程
  • 百度图片点击变网站是怎么做的深圳百度开户
  • 网站主体变更seo资源网站排名
  • 网站建设服务商 需要什么主机郑州seo推广外包
  • 怎么做竞拍网站推广网站平台
  • 如何做网络集资网站手机cpu性能增强软件
  • 国内独立站建站平台排名seo关键词优化是什么意思
  • 河南新蔡有做网站建设的吗网络营销有哪些例子
  • 企业营销型网站特点谷歌ads广告投放
  • 企业网站硬件建设方案seo工资待遇 seo工资多少
  • html5网站开发教程网站建站价格
  • Wordpress css代码规范seo优化推广技巧
  • 厦门酒店团购网站建设武汉大学人民医院
  • 做公司网站需要什么程序上海网站制作