Django FilteredSelectMultiple 不在页面上呈现
Django FilteredSelectMultiple not rendering on page
我目前正在使用 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 %}
然而,当我在页面中呈现它时,我只得到这个:
而不是这个:
我很想知道我做错了什么以及如何解决这个问题,使我的表单看起来像管理表单。
{% block content %}
{{ form.media }}
<form>
{{ form.permissions }}
</form>
{% endblock %}
在您的模板中试试这个
我目前正在使用 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 %}
然而,当我在页面中呈现它时,我只得到这个:
而不是这个:
我很想知道我做错了什么以及如何解决这个问题,使我的表单看起来像管理表单。
{% block content %}
{{ form.media }}
<form>
{{ form.permissions }}
</form>
{% endblock %}
在您的模板中试试这个