小编Jos*_*eph的帖子

在Flask视图函数之间共享数据

我正在使用Flask构建一个非常小的单页动态网站.我想在不使用类的情况下跨函数共享变量及其值的列表.

我查看了Flask的View类,但是我觉得我的应用程序不够大,也不够复杂,无法使用Flask实现我的项目的基于类的版本.如果我正确说明我也将失去使用route装饰器的能力,并且必须使用其代理功能add_url_rule.

这也会迫使我将我的代码重构为这样的东西:

from flask.views import View
class ShowUsers(View):

def dispatch_request(self):
    users = User.query.all()
    return render_template('users.html', objects=users)

app.add_url_rule('/users/', view_func=ShowUsers.as_view('show_users'))
Run Code Online (Sandbox Code Playgroud)

对于变量共享,我想到了两种技术.

  1. x = ""
    
    def foo():
        global x
        x = request.form["fizz"]
    
    def bar():
        # do something with x (readable)
        print(x)
    
    def baz():
        return someMadeupFunction(x)
    
    Run Code Online (Sandbox Code Playgroud)
  2. def foo():
        x = request.form["fizz"]
        qux(someValue)
    
    def qux(i):
        menu = {
        key0: bar,
        key1: baz,
        }
        menu[i](x)
    
    def bar(x):
        # do something with x (readable)
        print(x)
    
    def baz(x):
        return someMadeupFunction(x)
    
    Run Code Online (Sandbox Code Playgroud)

python flask

5
推荐指数
1
解决办法
882
查看次数

为什么不使用 django-admin startapp mysite 生成 urls.py?

但必须由用户创建。

 project
 |
 +-- settings.py
 +-- mysite
     |
     +-- views.py
     +-- apps.py
     +-- models.py
     +-- * user created urls.py file *
Run Code Online (Sandbox Code Playgroud)

python django

5
推荐指数
1
解决办法
1623
查看次数

Python I/O:目的与?

对于文件I/O的目的是什么:

with open
Run Code Online (Sandbox Code Playgroud)

我应该使用它而不是:

 f=open('file', 'w')
 f.write('foo)'
 f.close()
Run Code Online (Sandbox Code Playgroud)

python io

-1
推荐指数
1
解决办法
294
查看次数

标签 统计

python ×3

django ×1

flask ×1

io ×1