前文:用 flask 如何做配置不同的子站比较优雅?( http://www.v2ex.com/t/296370 )
问题:如何才能把 bluepront.py 文件中的 g.user_url_slug 变量放到 models.py 文件中使用?
from flask import Blueprint, render_template, g
from app import models
site = Blueprint('site', __name__, url_prefix='/<user_url_slug>')
@site.url_defaults
def add_user_url_slug(endpoint, values):
values.setdefault('user_url_slug', g.user_url_slug)
@site.url_value_preprocessor
def pull_user_url_slug(endpoint, values):
g.user_url_slug = values.pop('user_url_slug')
@site.route('/')
def index():
return g.user_url_slug + ' home'
from flask import g
from app import db
class User(db.Model):
# 如何才能把 blueprint.py 中的 g.user_url_slug 放到这里,生成不同的子站数据库表前缀
__tablename__ = g.user_url_slug + '_users'
id = db.Column(db.Integer, primary_key = True)
nickname = db.Column(db.String(64), index = True, unique = True)
email = db.Column(db.String(120), index = True, unique = True)
def __repr__(self):
return '<User %r>' % (self.nickname)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.