当前位置: 首页 > 知识库问答 >
问题:

Python,烧瓶:导入蓝图中的函数和变量

呼延才俊
2023-03-14

如何导入一个函数和变量从app/__init__. pyapp/蓝图/__init__. py,分别在app/蓝图/views.py

app/\uuuuu init\uuuuu。py

def main():
    <..>

app/blueprint/\uuuuuuu init\uuuuuuuu。py

from flask import Blueprint
blueprint = Blueprint('blueprint', __name__, template_folder='templates')

app/蓝图/views.py

import blueprint
import main

共有2个答案

邵浩大
2023-03-14

我读了威尔·克罗克斯福德建议的博客,下面是我问题的解决方案:

应用程序/蓝图/视图。派克

from app import main
from app.blueprint import blueprint
阳昊
2023-03-14
from app.__init__ import *
from app.blueprint.__init__ import *

应该从两个文件中导入所有函数和变量。

然而,尽管我不认为init文件应该用于此。

下面的例子瓶蓝图我用了我的项目,从Udemy教程中学习了结构,我认为这个想法通常是初始化文件被用来将Python目录转换成一个包,这样你就可以在其中导入东西。你可能最好用你想要导入的函数(不太常见的变量)创建新文件,也许专家会确认,但是我认为通常你会把Python初始化文件留空,除非你真的知道你在做什么。

from flask import Flask, render_template
from Source.common.database import Database

from Source.models.users.views import user_blueprint
from Source.models.street_lists.views import street_list_blueprint
# from Source.models.street_reports.views import street_report_blueprint

__author__ = "Will Croxford, with some base structure elements based on Github: jslvtr, \
from a different tutorial web application for online price scraping"

app = Flask(__name__)
app.config.from_object('Source.config')
app.secret_key = "123"

app.register_blueprint(user_blueprint, url_prefix="/users")
app.register_blueprint(street_list_blueprint, url_prefix="/streetlists")
# app.register_blueprint(street_report_blueprint, url_prefix="/streetreports")


@app.before_first_request
def init_db():
    Database.initialize()


@app.route('/')
def home():
    return render_template('home.jinja2')


@app.route('/about_popup.jinja2')
def info_popup():
    return render_template('about_popup.jinja2')

Flask视图文件示例:

# In this model, views.py files are the Flask Blueprint for this object.
# ie they describe what HTTP API endpoints are associated to objects of this class.

from flask import Blueprint, render_template, request, redirect, url_for

from Source.models.street_lists.street_list import StreetList

__author__ = 'jslvtr'


street_list_blueprint = Blueprint('street_lists', __name__)


@street_list_blueprint.route('/')
def index():
    prop_query = StreetList.get_from_mongo(streetpart="bum")
    return render_template('street_lists/street_list.jinja2', stores=prop_query)

你可以看看pocoo。组织flask文档示例,并搜索其他关于flask蓝图模板示例的SO问题。祝你好运

 类似资料:
  • 我正在尝试使用mod_wsgi在Ubuntu 16.04上通过apache安装flask应用程序。问题是wsgi脚本无法导入任何python模块。 我已经验证了wsgi脚本是可执行的,并用python独立运行了它。我还验证了我的flask应用程序可以自己运行,没有错误。我能够在我运行的任何其他python程序中导入所有模块。我还安装了带有pip和源代码的烧瓶。似乎什么都没用。 这是我的错误日志:

  • 我正在使用flask-RESTful开发API,并且对Flask的jsonify函数有问题。我正在使用flask-marshmlet进行JSON序列化。下面是一个非常简化的代码片段: 在本地,endpoint将返回具有键“data”和“error”的json;但是,当在Linux服务器上运行时,它会返回一个包含列表和在没有“data”和“error”键的情况下返回的结果。 我已经确定这种不一致是由

  • 问题内容: 我是bluprint的新手,在将db导入模型文件mydatabase.py文件时遇到问题。 我遇到了这个错误: ImportError:无法导入名称“ db” 我项目的树 运行 书架/ intit .py 书架/主/ controllers.py 问题回到,如果我删除它,该错误将更改为: ImportError:无法导入名称“ db” 书架/ mydatabase.py 有什么办法吗?

  • 我已经用flask在python上制作了一个restapi(端口:5000),我正在从一个网站(端口:80)发出get和post请求。我收到了cors错误,所以我尝试在RESTAPI中为站点创建一个响应头。但是我得到了导入错误: 我已经下载了烧瓶cors模块并升级它,并确保它是在正确的路径,但它仍然不工作。 API代码:

  • 问题内容: 如果我在flask中具有全局变量,并且有多个用户一次访问该站点,那么一个人会话可以覆盖另一个人会话的全局变量,还是在用户每次请求烧瓶时,flask都会创建我的站点和程序代码的唯一实例浏览器? 问题答案: 一般来说,全局变量在请求之间共享。 某些WSGI服务器可以为每个请求使用新的单独流程,但这不是扩展请求的有效方法。大多数将使用踩踏或几个子进程来分散负载,但是即使在单独的子进程的情况下

  • 我正在开发一个用python运行的应用程序(始终是热泵系统的控制器),我使用flask提供一个用户界面来控制应用程序。 烧瓶应用程序有不同的控制项,例如打开或关闭系统的按钮。 我试图从python模块执行一个特定的功能,以响应按钮上的“单击”(最终目标是更改mmap资源中的一个值,该值将在另一个模块中读取以更改系统的状态)。 在flask应用程序中,我有如下内容: 但是,这会产生“内部服务器错误”