2
我在如何在我的應用程序中連接URL_for鏈接而苦苦掙扎。 我有一個基本的骨架應用程序設置。Flask App Builder url_for views
我希望鏈接到一個視圖(MyView)中構建的函數(運行代碼)。
我基本上想要將一個變量(var1)傳遞給視圖'myview/method2/var1',並讓該鏈接顯示在ContactModelView中。
感謝
class MyView(BaseView):
route_base = "/myview"
@expose('/method2/<string:var1>')
@has_access
def fun_var(self, var1):
# go to function_file and run function with var1
param1, param2 = func_file.function(var1)
self.update_redirect()
return self.render_template('method3.html',
param1=param1,param2=param2, param3=prospects)
我的models.py文件有以下幾點:
class Contact(Model):
id = Column(Integer, primary_key=True)
name = Column(String(150), unique = True, nullable=False)
var1 = Column(String(150))
contact_group_id = Column(Integer, ForeignKey('contact_group.id'))
contact_group = relationship("ContactGroup")
def prospect(self):
return Markup(
'<a href="'url_for("What To Put here?MyView.fun_var doesn't work")'">prospect</a>')
def __repr__(self):
return self.name
然後我有意見:
class ContactModelView(ModelView):
datamodel = SQLAInterface(Contact)
label_columns = {'contact_group':'Contacts Group'}
list_columns = ['name','var1','contact_group', 'action']
show_fieldsets = [
(
'Summary',
{'fields':['name','var1','contact_group', 'prospect']}
)
]
我認爲這不是一個好主意,嵌入視圖相關的代碼(HTML)內模型模塊。這讓我很困惑。但是,FAB只有模塊/視圖,某些控制器作業在模型中實現。 –