我已经尝试过在许多方面使用inclusion标记,比如分离html文件并将其包含在基本模板(layout.html)中,甚至直接包含在基本模板(layout.html)中,我不断得到
递归错误/
超过最大递归深度
应用程序内/forms.py
class UserSettingsForm(forms.ModelForm):
class Meta:
model = UserSettings
fields = ['theme_color','text_color']
widgets = {
'theme_color':forms.Select(attrs={'class':'form-control'}),
'text_color':forms.Select(attrs={'class':'form-control'})
}
error_messages = {
NON_FIELD_ERRORS : {
'unique_together': "%(model_name)s's %(field_labels)s are not unique.",
}
}
应用内/templatetags/theme.py
@register.inclusion_tag('layout.html')
def settings_form():
set_form = UserSettingsForm()
return {'set_form':set_form}
在layout.html中
{% load theme %}
...
<form action="{% url 'set_settings' %}" method="post">
{% csrf_token %}}
{% settings_form %}
{{set_form}}
</form>
我希望表单显示在this layout.html扩展到的所有页面上,因此从视图发送表单是不可能的
我一直听说RequestContext,但我不知道如何使用它来呈现它。如果你知道,请描述我应该在哪里创建这个新的文件为这个功能来实现,我应该怎么做
在一位已知朋友的帮助下,我尝试使用上下文处理器,通过在
app
中创建一个context.py
文件并编写一个简单的两行代码,将表单添加到上下文处理器中然后在设置中将
app.context.settings_form
添加到上下文中。 现在我可以轻松地渲染窗体。花了很多时间来理解一个2行代码。Python真的比我想象的简单相关问题 更多 >
编程相关推荐