标签: django-widget

Django - 管理员自定义字段显示和行为

让我们想象一下这个模型:

class ScribPart(models.Model):
  name = models.CharField(max_length=50, unique=True)
  text = models.TextField()
Run Code Online (Sandbox Code Playgroud)

我想将一个特定的类附加到该字段text并调用特定的js文件.这样管理页面就像:

...
<script type="text/javascript" src="/static/js/mymarkup.js"></script>
...
<textarea id="id_text" name="text" class="mymarkup"></textarea>
...
Run Code Online (Sandbox Code Playgroud)

如何使用窗口小部件和/或自定义管理表单执行此操作?

html python django django-admin django-widget

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

自定义Django管理员更改表单外键以包括查看记录

在django管理员更改表单中选择外键时,我正在尝试添加一个href,可以查看添加记录的加号旁边的记录.

我试图让href渲染的是我将管理员def渲染复制到我自己的自定义窗口小部件文件中并将其添加到子类中并将其子类化:

widgets.py

class RelatedFieldWidgetWrapperLink(RelatedFieldWidgetWrapper):

    def render(self, name, value, *args, **kwargs):
        rel_to = self.rel.to
        info = (rel_to._meta.app_label, rel_to._meta.object_name.lower())
        try:
            related_url = reverse('admin:%s_%s_add' % info, current_app=self.admin_site.name)
        except NoReverseMatch:
            info = (self.admin_site.root_path, rel_to._meta.app_label, rel_to._meta.object_name.lower())
            related_url = '%s%s/%s/add/' % info
        self.widget.choices = self.choices
        output = [self.widget.render(name, value, *args, **kwargs)]
        if self.can_add_related:
            # TODO: "id_" is hard-coded here. This should instead use the correct
            # API to determine the ID dynamically.
            output.append(u'<a href="%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> ' % \
                (related_url, name))
            output.append(u'<img src="%simg/admin/icon_addlink.gif" …
Run Code Online (Sandbox Code Playgroud)

django django-admin django-widget

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

Django - 为自定义小部件指定默认属性

我已经创建了这个小部件

class DateTimeWidget(forms.TextInput):
  attr = {'class': 'datetimepicker'}
  class Media:
    js = ('js/jquery-ui-timepicker-addon.js',)
Run Code Online (Sandbox Code Playgroud)

然后我在我的表格上使用它

class SessionForm(forms.ModelForm):
  class Meta:
    model = Session
  def __init__(self, *args, **kwargs):
    super(SessionForm, self).__init__(*args, **kwargs)
    self.fields['start_time'].widget = DateTimeWidget()
    self.fields['end_time'].widget = DateTimeWidget()
Run Code Online (Sandbox Code Playgroud)

没有 cssclass应用于我的字段(我希望datetimepicker应用于两者start_time& end_time)。
我想我放attr错了位置。我应该在哪里指定它?

django django-forms django-widget

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

在 django 模板中自定义 ClearableFileInput

我有一个profile_picture=ImageField字段设置为初始值的表单。它正在使用ClearableFileInput小部件。我需要在模板中自定义表单,所以我不能简单地使用{{ form.profile_picture}}. 如何拆分字段元素并获得如下所示的内容:

{{ with picture=form.profile_picture }}
{{ picture.label_tag }}
<a href="{{ picture.url }}">
  <img src="{{ picture.url }}">
</a>
{{ picture.clear-picture }}
Run Code Online (Sandbox Code Playgroud)

{{ picture.clear-picture }}应该在哪里生成复选框以删除旧图片

django django-forms django-widget

3
推荐指数
2
解决办法
5453
查看次数

django modelform css类用于选择

我正在尝试将一个名为autocomplete的类添加到我的一个select中.

class MyForm(ModelForm):
    class Meta:
        model = MyModel
        exclude = ['user']

    def __init__(self, user, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['specie'].queryset = Specie.objects.all(attrs={'class':'autocomplete'})
Run Code Online (Sandbox Code Playgroud)

根据上面的代码我得到 all() got an unexpected keyword argument 'attrs'

django django-forms django-widget

2
推荐指数
1
解决办法
3769
查看次数

django radioselect渲染到表

我想将django表单widget radioselect渲染到表而不是ul列表中.第一行中有标签,第二行下面有单选按钮.每个按钮一个单元格.例如

-------------------------------
| label 1 | label 2 | label 3 |
-------------------------------
|   O     |    O    |    O    |
-------------------------------
Run Code Online (Sandbox Code Playgroud)

我查看了默认的selectradio小部件,但渲染函数看起来很复杂,调用许多不同的类来完成渲染的每个部分.

有没有人有任何如何做到这一点或可以提供简单解决方案的例子?

django django-forms django-widget

2
推荐指数
1
解决办法
2494
查看次数

在Django中只渲染MultiWidget的一部分

我有一个Django表单字段,其中包含一个由两个TextInput组成的MultiWidget.

在模板中呈现表单时,有一个方便的表示法

{{ formname.fieldname }}
Run Code Online (Sandbox Code Playgroud)

用于渲染单个字段.当我将它用于具有MultiWidget的字段时,它将显示两个HTML输入元素.是否会略微修改仅显示第一个HTML输入元素的符号?({{ formname.fieldname.0 }}不起作用.)

django django-forms django-widget

2
推荐指数
1
解决办法
1219
查看次数

如何为 DateFromToRangeFilter 设置不同的占位符?

我在我的项目中使用 django_filters,其中之一是 DateFromToRangeFilter。此过滤器在您的模板中生成两个输入字段,象征性地 - 'From' 和 'To'。

为这些字段设置类似的属性没有问题。例如:

end = django_filters.DateFromToRangeFilter(
        widget=django_filters.widgets.RangeWidget(
                attrs={'placeholder': 'yyyy-mm-dd'}))
Run Code Online (Sandbox Code Playgroud)

但我无法理解如何设置不同的占位符(或每个字段的任何其他属性)。就像字段“从”的“输入开始日期”和字段“到”的“输入完成日期”一样。

有人可以帮忙吗?

django-forms django-widget django-filters

2
推荐指数
1
解决办法
1438
查看次数

使用 django-stdimage 时是否可以删除“当前”标签?

django-stdimage在我的 Django 应用程序中使用它,它工作得很好,唯一的问题是我想从 HTML 模板中删除“当前”字符串、清除复选框和其余装饰。我无法弄清楚如何实现这一目标。

这是我的 StdImageField 声明models.py

photo = StdImageField(upload_to=join('img', 'agents'),
                      variations={'thumbnail': (100, 100, True)}, default=None,
                      null=True, blank=True, )
Run Code Online (Sandbox Code Playgroud)

我已经阅读了几个关于修改 ImageField 小部件以使用该类的 SO 答案,ClearableFileInput但似乎该widget属性不允许作为StdImageField类参数。

有没有办法去除所有这些装饰?

谢谢你。

python django django-widget imagefield

2
推荐指数
1
解决办法
1435
查看次数

如何在 Django 中向 UpdateView 添加小部件

我需要将此小部件添加到 django UpdateView,

class tlistUpdate(LoginRequiredMixin,UpdateView):
    fields = ('title', 'thumbnail', 'content', 'tags')
    model = htmlpage
    template_name = 'blog/create_form.html'
Run Code Online (Sandbox Code Playgroud)

尝试添加

widgets = {
    'content': SummernoteWidget(),
}
Run Code Online (Sandbox Code Playgroud)

content = forms.CharField(widget=SummernoteWidget())
Run Code Online (Sandbox Code Playgroud)

但它没有用。

forms django django-forms django-views django-widget

2
推荐指数
1
解决办法
905
查看次数