【问题标题】:Django FilteredSelectMultiple not rendering on pageDjango FilteredSelectMultiple 不在页面上呈现
【发布时间】:2017-11-22 11:51:05
【问题描述】:

我目前使用的是 Django 版本 1.11.2,并希望在管理页面之外使用 FilteredSelectMultiple 小部件。

这是我的forms.py:

class TBDAuthGroupManageForm(forms.Form):
    permissions = forms.ModelMultipleChoiceField(queryset=Permission.objects.all(),
                                                required=True,
                                                widget=FilteredSelectMultiple("Permissions", is_stacked=False))

class Media:
    css = {'all': ('/static/admin/css/widgets.css',), }
    js = ('/admin/jsi18n/',)

def __init__(self, parents=None, *args, **kwargs):
    super(TBDAuthGroupManageForm, self).__init__(*args, **kwargs)

这是我的views.py:

class TBDAuthGroupManageView(DetailView):
    model = TBDAuthGroup
    template_name = 'perms/tbdauthgroup_manage.html'

    def get_context_data(self, **kwargs):
    context = super(TBDAuthGroupManageView, self).get_context_data(**kwargs)
    context['form'] = TBDAuthGroupManageForm()
    return context

这是我的模板:

{% extends "base.html" %}
{% load static %}
{% block css %}
    {{ form.media }}
    <script type="text/javascript" src="{% static 'js/jquery-3.1.1.min.js' %}"></script>
    <script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
    <script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
{% endblock %}
{% block content %}
    {{ form }}
{% endblock %}

但是当我在页面中渲染它时,我只得到这个:

不是这个:

我很想知道我做错了什么以及如何解决这个问题,使我的表单看起来像管理表单。

【问题讨论】:

    标签: python django django-forms django-1.11


    【解决方案1】:
    {% block content %}
    {{ form.media }}
    <form>
      {{ form.permissions }}
    </form>
    {% endblock %}
    

    在你的模板中试试这个

    【讨论】:

      猜你喜欢
      • 2018-12-19
      • 2014-08-25
      • 2012-04-22
      • 2019-05-02
      • 1970-01-01
      • 2021-10-05
      • 2017-03-09
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多