1. 今天学习遇到一个问题,以前项目比较简单,所有的@app.route 都是写在一个文件app.py 中的,然后启动也是在这个文件中启动app.run .但是我今天

想写一个新的模块, 于是我新启了一个 yellowPages.py ..然后启动, 访问这个py 文件中url 路径就报404 了 。。网上找了半天,

  方法1 : 在app中引入 yellowPages 就可以访问到了。。

    import yellowPages

 方法2 : buleprint 蓝图。。研究中: 据说试用大项目的结构
   app
    -templates
      -a1.html
      -a2.html
    -views
      -a1.py
      -a2.py
      -app.py
    -manager.py
     1.1 manager.py
from views.view import app,scheduler
from views.serverReq import gethttp
from views.app import admin
from views.yellowPages import yellow app.register_blueprint(admin, url_prefix='/admin',template_folder='/templates')
app.register_blueprint(yellow, url_prefix='/',template_folder='/templates') if __name__ == '__main__':
app.debug=True
scheduler.add_job(func=gethttp, id='', args=(), trigger='interval', seconds=60, replace_existing=False)
scheduler.init_app(app=app)
scheduler.start()
app.run()
1.2 app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_apscheduler import APScheduler app = Flask('main1xx')
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@192.168.99.100/activiti_api'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # 数据库
db = SQLAlchemy(app)
#定时任务
scheduler = APScheduler()

1.3   a1.py

  

from flask import request,render_template,Blueprint
from views.sqlconfig import Ip, AIServer,TM
import numpy as np
import datetime
from sshserver.config import paramikoclient
from sshserver.test1 import transportclient
admin = Blueprint('admin', __name__)     # url_prefix='/'


client={}

@admin.route('/',methods = ['GET','POST'])
def index():
if request.method == 'POST':
filters = []
if request.values.get('ip')!='':
filters.append(AIServer.ip==request.values.get('ip'))
if request.values.get('port')!='':
filters.append(AIServer.port == request.values.get('port'))
if request.values.get('server_type')!='':
filters.append(AIServer.server_type == request.values.get('server_type'))
if request.values.get('server_addr')!='':
filters.append(AIServer.server_addr == request.values.get('server_addr'))
f = np.array(filters)
servers = AIServer.query.filter(*f).order_by("server_status").all()
else:
servers = AIServer.query.order_by("server_status").all()
return render_template('server.html',servers=servers,form = request.form)

1.4  a2.py

  

from flask import Blueprint, render_template
from .sqlconfig import YellowPages yellow = Blueprint('yellow', __name__) # url_prefix='/' # 网站
@yellow.route('/yellowPage', methods=['GET'])
def yellowPage():
servers = YellowPages.query.order_by("type").all()
websites = {}
t1 = []
t2 = []
t3 = []
websites['t1'] = t1
websites['t2'] = t2
websites['t3'] = t3
for s in servers:
website = {'id': s.id, 'name': s.name, 'url': s.url}
websites['t' + str(s.type)].append(website)
return render_template('yellowPages.html', websites=websites)

2. 关于flask templates 路径问题,默认是在.py 的同级目录templates下。。 如果想以项目路径为启动可以
app = Flask('x')  其中x 可以是任意值。。 

python flask 项目结构的更多相关文章

  1. 一个比较良好的flask项目结构

    一个比较良好的flask项目结构 project/ app/                    # 整个程序的包目录 static/                 # 静态资源文件 js/    ...

  2. flask项目结构(四)使用sqlalchemy和alembic

    简介 其实我不是啥正经人,错了,不是啥正经程序员,所能想到的估计也就码农一级吧,高级程序员,搞什么算法,什么人工智能,大数据计算…………离我还太遥远. 但是这并不妨碍我继续学习,继续写垃圾小程序. 反 ...

  3. flask项目结构(三)使用蓝图

    简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...

  4. python的项目结构

    项目结构 知识点 创建项目,编写 __init__ 文件 使用 setuptools 模块,编写 setup.py 和 MANIFEST.in 文件 创建源文件的发布版本 项目注册&上传到 P ...

  5. 使用Nginx+Uwsgi部署Python Flask项目

    第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...

  6. Python Flask项目步骤

    构建flask项目步骤 步骤一:构建基础项目框架 创建manage.py文件 from flask import Flask app = Flask(__name__) ""&qu ...

  7. flask项目结构(二)创建flask,同步docker

    简介: 建立flask容易,那么部署就比较麻烦了,配这个,配那个,更新………… 所以我从构建,就考虑部署的问题,使用docker部署. 程序都打包进docker,本博客有相关文章. pycharn直接 ...

  8. flask项目结构(一)mariadb

    简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...

  9. flask项目结构(五)使用数据库

    简介: 基础搭建好了,开始读写数据库吧.毕竟写的程序,也没什么高深的,就是CRUD,中文说是增删改查. 一:在数据库中增加测试数据. 在项目根目录建立init_test.py from config ...

随机推荐

  1. Android创建和删除桌面快捷方式

    有同学方反馈创建快捷方式后,点击快捷方式后不能启动程序或者提示"未安装程序",貌似是新的rom在快捷方式这块做过修改(由于此文是11年5月所出,估计应该是2.0或2.1的rom), ...

  2. 前端基础之css介绍

    CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...

  3. JAVA jar 参数

    -client       to select the "client" VM    -server       to select the "server" ...

  4. Alley Bird 跳跳鸟源码

    <跳跳鸟Alley Bird>是一款敏捷小游戏.<跳跳鸟Alley Bird>采用了点击屏幕操作玩法,非常简单易上手,同时游戏内容也趣味性十足.<跳跳鸟Alley Bir ...

  5. Mac下环境变量设置错误,导致命令行命令不能使用后的解决办法

    1 在命令行中,临时设置环境变量 export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 2 各种命令就可以使用了.然后修复错误的环境变量配置 ...

  6. xadmin系列之django的url分发的方式

    一.先介绍一下我们自己的urls中是如何进行路由分发的 一.一级路由 urlpatterns = [ url(r'^upload/', views.upload,name="upload&q ...

  7. RabbitMQ 参数们的Power “续”

      参数中的 arguments 之前讲参数的一些作用的时候,忽略了最后一个字典类型的参数,因为这个参数是大有文章的,值得单独进出来说道说道. 这时,就不得不打开我们的 Web UI管理系统了,可以看 ...

  8. lombok ------让代码更简洁方便

    估计在平常写代码中,都会创建entity类的实体来,都是那种创建变量,生成set get 方法,方便外部调用,你以为你很流利的操作快捷键就很方便的了? 其实不然,有一个lombok 工具可以帮我们自动 ...

  9. docker搭建lnmp(二)

    上一篇利用 不同的命令来构建 nginx,mysql,php镜像 和 容器. 这样做比较麻烦,也很容易出错,当然可以写入 sh脚本来执行.但是可以通过 docker-compose 来达到效果,管理起 ...

  10. IE6、7下overflow:hidden失效的问题

    问题产生原因: 当父元素的直接子元素或者下级子元素的样式拥有position:relative或者position:absolute属性时,父元素的overflow:hidden属性就会失效. 例如: ...