如何使用包含标签避免 RecursionError 将表单加载到 django 基本模板?

yashas123

我已经尝试以多种方式使用包含标记,例如分离 html 文件并将其包含在基本模板(layout.html)中,甚至直接在基本模板(layout.html)上,我不断收到
RecursionError at / maximum recursion depth exceeded

在 app/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.",
        }
    }

在 app/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>

我希望表单显示在此 layout.html 扩展到的所有页面上,因此从视图发送它是不可能的。

我一直听说 RequestContext 但我不知道如何使用它来呈现它。如果你知道,请描述我应该在哪里创建这个新文件来实现这个功能,我应该如何做。

yashas123

在我尝试使用 context_processors 的一位已知朋友的帮助下,我通过在其中创建一个context.py文件app并编写一个简单的 2 行代码将表单添加到 context_processors 中

def settings_form(request):
    return {'set_form': UserSettingsForm()}

然后app.context.settings_form在设置中添加到 context_processors。现在我可以轻松渲染表单了。花了很多时间才理解了 2 行代码。Python 确实比我想象的更容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django-使用jQuery将模板加载到变量中

来自分类Dev

在按钮单击时将多个模板加载到 django 中的基本模板中

来自分类Dev

基本模板中的Django表单。如何显示验证错误?

来自分类Dev

Django:如何将表单动态加载到当前 html 页面

来自分类Dev

Django 表单字段未加载到模板中

来自分类Dev

Django如何将数据加载到初始base.html模板

来自分类Dev

尝试使用angular将部分加载到我的django模板的一侧

来自分类Dev

Django如何添加基本表单模板上下文处理程序

来自分类Dev

如何在Django的子模板中更改基本模板的背景

来自分类Dev

如何将带有django标签的javascript代码加载到我的django模板中

来自分类Dev

如何将带有django标签的javascript代码加载到我的django模板中

来自分类Dev

Django:将带有表单的 alluath 模板加载到 div 加载其他内容

来自分类Dev

为什么要添加基本模板破坏我的Django表单

来自分类Dev

使用django从html表单将图像下载到localhost

来自分类Dev

使用Sitecore Powershell将基本模板附加到模板

来自分类Dev

如何将Angular.js表单加载到jsFiddle?

来自分类Dev

将2个子模板集成并呈现到基本模板中-Django

来自分类Dev

无法将第二个模板加载到我的Django项目中

来自分类Dev

将 requests.get 的结果加载到 django 模板(tableau)中?

来自分类Dev

Django基本模板视图方法

来自分类Dev

Django Cycle包含模板标签

来自分类Dev

Django-表单模板标签如何工作?

来自分类Dev

Django包含模板标签多个模板选择

来自分类Dev

Django Child模板未加载表单

来自分类Dev

用jQuery加载Django表单模板

来自分类Dev

如何将基本模板文件用于golang html / template?

来自分类Dev

如何将变量从视图页面传递到基本模板

来自分类Dev

如何使用Meteor / handlebars.js将js加载到模板中?

来自分类Dev

来自ImageField的图像未加载到Django模板中

Related 相关文章

  1. 1

    Django-使用jQuery将模板加载到变量中

  2. 2

    在按钮单击时将多个模板加载到 django 中的基本模板中

  3. 3

    基本模板中的Django表单。如何显示验证错误?

  4. 4

    Django:如何将表单动态加载到当前 html 页面

  5. 5

    Django 表单字段未加载到模板中

  6. 6

    Django如何将数据加载到初始base.html模板

  7. 7

    尝试使用angular将部分加载到我的django模板的一侧

  8. 8

    Django如何添加基本表单模板上下文处理程序

  9. 9

    如何在Django的子模板中更改基本模板的背景

  10. 10

    如何将带有django标签的javascript代码加载到我的django模板中

  11. 11

    如何将带有django标签的javascript代码加载到我的django模板中

  12. 12

    Django:将带有表单的 alluath 模板加载到 div 加载其他内容

  13. 13

    为什么要添加基本模板破坏我的Django表单

  14. 14

    使用django从html表单将图像下载到localhost

  15. 15

    使用Sitecore Powershell将基本模板附加到模板

  16. 16

    如何将Angular.js表单加载到jsFiddle?

  17. 17

    将2个子模板集成并呈现到基本模板中-Django

  18. 18

    无法将第二个模板加载到我的Django项目中

  19. 19

    将 requests.get 的结果加载到 django 模板(tableau)中?

  20. 20

    Django基本模板视图方法

  21. 21

    Django Cycle包含模板标签

  22. 22

    Django-表单模板标签如何工作?

  23. 23

    Django包含模板标签多个模板选择

  24. 24

    Django Child模板未加载表单

  25. 25

    用jQuery加载Django表单模板

  26. 26

    如何将基本模板文件用于golang html / template?

  27. 27

    如何将变量从视图页面传递到基本模板

  28. 28

    如何使用Meteor / handlebars.js将js加载到模板中?

  29. 29

    来自ImageField的图像未加载到Django模板中

热门标签

归档