相关疑难解决方法(0)

Django多选小部件?

Django管理站点使用了一个非常酷的小部件:

在此输入图像描述

如何在我自己的应用程序中使用此小部件?我没有看到这里列出的任何东西.

forms django django-forms

52
推荐指数
1
解决办法
3万
查看次数

Django:替换默认的ManyToMany窗体小部件

我知道在django管理界面中替换ManyToMany Widget的人:

class SomeModelAdmin(admin.ModelAdmin):
    filter_horizontal = ('users',)
Run Code Online (Sandbox Code Playgroud)

但是如何在所有视图中替换默认小部件?

我想这可以在不改变我的代码或django中的一行的情况下实现.

如果我能在这个带有小部件的图片中使用作者部分(ManyToMany输入的两个框)这样的话会很棒:

在此输入图像描述

我可以使用ctrl+点击,但我的用户不能.他们想要一种更简单的方法

有没有办法在我的代码中没有很多更改的情况下替换所有选择多个小部件?

django drop-down-menu

8
推荐指数
2
解决办法
2088
查看次数

Django FilteredSelectMultiple 未在页面上呈现

我目前使用的是 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)
Run Code Online (Sandbox Code Playgroud)

这是我的观点.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
Run Code Online (Sandbox Code Playgroud)

这是我的模板:

{% 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> …
Run Code Online (Sandbox Code Playgroud)

python django django-forms django-1.11

3
推荐指数
1
解决办法
3173
查看次数