请选择 进入手机版 | 继续访问电脑版
查看: 593|回复: 2

Flask blueprint蓝图按功能模块化架构实例

34

主题

34

帖子

138

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
138
羊大仙 发表于 2015-12-10 21:51:07 | 显示全部楼层 |阅读模式

使用flask作为开发框架,一定要按功能模块化,否则到了后面项目越大,开发速度就越慢。

1Flask模块化结构规划

[root@yang-218 yangyun]# tree
.
├── asset               #资产功能目录
│   ├── __init__.py
│   ├── models.py        #资产数据库结构文件
│   └── views.py         #资产视图文件
├── user                #用户功能目录
│  ├──__init__.py
│  ├── models.py          #用户数据库结构文件
│  └── views.py           #用户视图配置文件
├── config.py             #公共配置文件
├── requirements.txt        #需要的安装包
├── run.py               #主运行文件
├── static               #静态文件目录,css,js, image等
└── templates             #静态页面存放目录
   ├── asset           #asset功能模块页面存放目录
    │  └── index.html
    ├── index.html         #首页
    └── user                        
        └── index.html

2run.py主运行文件配置

[root@yang-218 yangyun]# cat run.py

from flask import Flask
from asset import asset
from user import user
 
 
apple=Flask(__name__,
        template_folder='templates', #指定模板路径,可以是相对路径,也可以是绝对路径。 
        static_folder='static',  #指定静态文件前缀,默认静态文件路径同前缀
        #static_url_path='/opt/auras/static',     #指定静态文件存放路径。
         )
apple.register_blueprint(asset,url_prefix='/asset')    #注册asset蓝图,并指定前缀。
apple.register_blueprint(user)      #注册user蓝图,没有指定前缀。
 
if __name__=='__main__':
         apple.run(host='0.0.0.0',port=8000,debug=True)  #运行flask http程序,host指定监听IP,port指定监听端口,调试时需要开启debug模式。


3asset功能模块配置

其它的功能模块配置相似

 

1) __init__.py文件配置

[root@yang-218 asset]# cat __init__.py

from flask import Blueprint
 
asset=Blueprint('asset',
        __name__,
        #template_folder='/opt/auras/templates/',   #指定模板路径
         #static_folder='/opt/auras/flask_bootstrap/static/',#指定静态文件路径
                   )
 
import views

 

2) views.py文件配置

[root@yang-218 asset]# cat views.py

from flask import  render_template
from asset import asset
 
@asset.route('/')              #指定路由为/,因为run.py中指定了前缀,浏览器访问时,路径为http://IP/asset/
def index():                         
         print'__name__',__name__
         returnrender_template('asset/index.html')  #返回index.html模板,路径默认在templates下

 

3)前端页面配置

[root@yang-218 yangyun]# echo 'This isasset index page...' >templates/asset/index.html

 

4user功能模块配置

此处配置和上述asset的配置一致

1) __init__.py配置

[root@yang-218 yangyun]# cat  user/__init__.py

from flask import Blueprint
user=Blueprint('user',
                   __name__,
                   )
import views

2) views.py配置

[root@yang-218 yangyun]# cat user/views.py

from flask import  render_template
from user import user
 
@user.route('/')
def index():
         print'__name__',__name__
         returnrender_template('user/index.html')

 

3) 静态页面配置

echo 'This is User page....'  >templates/user/index.html

 

5requirements.txt文件配置

主要作用是记录需要的依赖包,新环境部署时安装如下依赖包即可,pip安装命令: pip install -r requirements.txt

[root@yang-218 yangyun]# catrequirements.txt
Flask==0.10.1
Flask-Bootstrap==3.3.5.6
Flask-Login==0.2.11
Flask-SQLAlchemy==2.0
Flask-WTF==0.12

 

6、浏览器访问测试

后端运行程序

[root@yang-218 yangyun]# python run.py
 *Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
 *Restarting with stat

前端访问asset页面


前端访问user页面

wKiom1X6EwyDfQ7XAABu-gqfM60350.jpg

为什么出现404?因为在run.py里没有指定前缀,所以url里不需要加user

wKioL1X6FUSyI3DjAAA7JI0SKS0527.jpg

 以上

 

 

 

 

 


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2489

主题

2783

帖子

8100

积分

论坛元老

Rank: 8Rank: 8

积分
8100
ChrOffinny 发表于 2017-5-24 07:27:31 | 显示全部楼层
What Does Cialis For Daily Use Cost 105  Online Cialis Buy Amitriptyline Online Uk Viagra Equivalent Sans Ordonnance  Cheap Cialis Generic Le Viagra En Ligne Il Cialis Alza La Pressione  Cheap Viagra On Line Secure Stendra Cheapeast On Line Hereford Keflex And Being Pregnant  Shop Zoloft Online Online Phamaces Amoxicilline Teva 250mg 5ml  Fast Delivery Prozac Cephalexin Bad Breath Kamagra 100mg France  Zoloft Online Pharmacy Antibiotics Flagyl Mexican Pharmacies Online  Zoloft Online Usa Propecia Minoxidil Together Priligy Zuzahlung  Cytotec Free Offer Manyfacturing Amoxicillin Where To Buy Nizoral Pills  How To Buy Zoloft Low Cost Sildenfil Citrate Buy Cheap Levitra  Compra Viagra Online Where To Buy Viagra For Men Zentel Capillariasis No Physician Approval  Buy Cialis Online Usa Cialis Que Cantidad Vad Ar Priligy  Cost Of Zoloft Levitra Effetti Collaterali Farmacia Is Priligy Safe  How To Buy Cialis Vente Cialis 10 Sale Generic Worldwide Stendra 50mg Medication Overnight Fedex Wakefield  How To Order Zoloft Cialis Original Precio Farmacia Vardenafil Levitra  Cheap Viagra Pill 1 3 Days Shipping On Ed Pills Acheter Amoxicillin Pharmacie Au Rabais Vallee D Aoste  Kamagra Online Fast Where To Buy Avanafil Rezept Viagra Generika  Zoloft Online Cs El Cialis Sirve Para La Mujer Propecia Generic Proscar Finasteride  Canadian Viagra Baclofen Generique 10mg Prix Du Cialis 20 Mg  Viagra Online Blue Dutasteride Australia Antibiotics  Cialis Free Offer Priligy Or Viagra Discount fedex isotretinoin with overnight delivery medication overseas  Generic Zoloft Usa Inexpensive Cialis Online Cheap Ed Meds Uk  Cost Of Viagra Priligy 60 Mg Prix Buy Dapoxetine Hydrochloride  Buy Real Viagra Online Canadian Health Mall Meds Keflex Decrease  Cialis Buy Kamagra Oral Jelly Miglior Prezzo What The Diffencebetween Venlafaxine  Kamagra Order Qu'Est Sildenafil Generique 20 Mg  Cialis Price Cialis Levitra O Viagra Baclofene Acheter En Ligne  Internet Order Viagra Comprare Levitra On Line Propecia Con Como Preparar  Generic Cialis Pricing Vimedic Cialis Y Priligy  Buy Cheap Kamagra Healthy Man Blue Pill Buy Celebrex Celecoxib 200 Mg  Ordering Cialis Online Propecia Shop Pill Cialis E Altri  Cialis 20mg Price Cialis Generika Gut Buy Brand Name Propecia  Purchase Cheap Cialis Cialis Overnight Delivery Us Cialis Mejor Viagra  Buy Zoloft On Line Cialis Da 20 Que Es Viagra Y Para Que Se Usa  Low Cost Cialis Online Generic Viagra Sildenafil Citrate Viagra Canada Price  How To Buy Cialis Buy Lasix Canada Viagra Online Bestellen Forum  Inderal Buy Clomid Amenorrhee Avec Top Hair Loss Products Propecia And Rogaine  Ordering Kamagra Online 90 Pills Extra Super Cialis Clomid Without Prescriptions Mexico  Zoloft Order Isotretinoin 10mg Skin Health What Does Levitra Look Like  Generic Cialis Pricing Cialis A Prezzo Basso Lithium Without Prescription  Viagra Online Cheap Weight And Propecia Propecia Result Photos  Shop Cialis Online Cheap Effexor
回复 支持 反对

使用道具 举报

32

主题

39

帖子

148

积分

注册会员

Rank: 2

积分
148
HaroImpera 发表于 2017-10-9 16:56:11 | 显示全部楼层
Cherche Viagra Suisse Cialis Medikament Bestellen  cialis Offres De Dapoxetine Precio Cialis Cialis Order Propecia Online Consultation  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表