gpt4 book ai didi

Python、 flask : Importing functions and variables inside blueprint

转载 作者:行者123 更新时间:2023-12-01 02:30:24 25 4
gpt4 key购买 nike

如何分别从 app/blueprint/views 内的 app/__init__.pyapp/blueprint/__init__.py 导入函数和变量.py

app/__init__.py

def main():
<..>
<小时/>

app/blueprint/__init__.py

from flask import Blueprint
blueprint = Blueprint('blueprint', __name__, template_folder='templates')
<小时/>

app/blueprint/views.py

import blueprint
import main

最佳答案

from app.__init__ import *
from app.blueprint.__init__ import *

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

但是,尽管我不认为 init 文件应该用于此目的。

下面的 Flask 蓝图示例是我使用我的项目,从 Udemy 教程中学习的结构,我认为这个想法通常是使用 init 文件将 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 View 文件示例:

# 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.org Flask 文档示例,并搜索其他 SO 问题以获取我认为的 Flask 蓝图模板示例。祝你好运!

关于Python、 flask : Importing functions and variables inside blueprint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46891634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com