小编hap*_*oat的帖子

Flask-SQLAlchemy:如何有条件地插入或更新行

我的应用程序使用Flask,Flask-SQLAlchemy,Flask-WTF和Jinja2的组合.

在目前的版本中,我有一个设置表.该表只有一个记录,包含一个字段.最初该表包含零记录.

我想要实现的是:

  • 假设db中没有条目,则显示准备用户输入的空表单
  • 鉴于存在条目,显示条目,和
  • 如果用户更改了值,则更新db中的rec.

这是我的代码:

models.py

class Provider(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    rssfeed = db.Column(db.String(120), unique = True)

    def __init__(self, rssfeed):
        self.rssfeed = rssfeed

    def __repr__(self):
        return '<NZBMatrix feed url %r>' % self.rssfeed
Run Code Online (Sandbox Code Playgroud)

forms.py

class SettingsForm(Form):
    rssfeed = TextField('rssfed', validators= [Required()])
Run Code Online (Sandbox Code Playgroud)

views.py

    @app.route('/settings', methods=["GET","POST"])
    def settings():
    """ show settings """
        provider = Provider.query.get(1)
        form = SettingsForm(obj=provider)
        print provider

        if request.method == "POST" and form.validate():
            if Provider.query.get(1) is None:
                provider = Provider(rssfeed=form.rssfeed.data)
                form.populate_obj(provider)
                db.session.add(provider)
                db.session.commit()
                flash("Settings added") …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-sqlalchemy flask-wtforms

18
推荐指数
2
解决办法
3万
查看次数

定义实例变量时的最佳实践

我是Python的新手,对以下类有疑问:

class Configuration:
    def __init__(self):
        parser = SafeConfigParser()
        try:
            if parser.read(CONFIG_FILE) is None:
                raise IOError('Cannot open configuration file')
        except IOError, error:
            sys.exit(error)
        else:
            self.__parser = parser
            self.fileName = CONFIG_FILE

    def get_section(self):
        p = self.__parser
        result = []
        for s in p.sections():
            result.append('{0}'.format(s))
        return result

    def get_info(self, config_section):
        p = self.__parser
        self.section = config_section
        self.url = p.get(config_section, 'url')
        self.imgexpr = p.get(config_section, 'imgexpr')
        self.imgattr1 = p.get(config_section, 'imgattr1')
        self.imgattr2 = p.get(config_section, 'imgattr2')
        self.destination = p.get(config_section, 'destination')
        self.createzip = p.get(config_section, 'createzip')
        self.pagesnumber = p.get(config_section, …
Run Code Online (Sandbox Code Playgroud)

python variables constructor

16
推荐指数
2
解决办法
1万
查看次数

调试选项w/Python,Flask和Sublime Text 2

我刚刚切换到Sublime Text 2进行Python开发.我通常使用Flask微框架进行Web编程.

这个组合的调试选项是什么,如何设置?我正在使用Windows 7.

python flask sublimetext2

10
推荐指数
1
解决办法
4089
查看次数