小编dev*_*eng的帖子

Django 1.3将参数传递给url.py中基于类的通用列表视图的过滤器

这是我在url.py中的代码:

(r'^tag/(?P<tag>\w+)/$',
    ListView.as_view(
        model=List,
        context_object_name='some_list',
        queryset=List.objects.filter(tag__name__in=[tag_name]),
        template_name='some_list.html'))
Run Code Online (Sandbox Code Playgroud)

我想传递(?P<tag>\w+)给" tag_name"过滤器,但我不知道该怎么做.

另外我如何传递多个标签?像这样:

http://www.mysite.com/tag/tag1+tag2+tag3
Run Code Online (Sandbox Code Playgroud)

url.py应该得到" tag1+tag2+tag3",将其拆分为" tag1"," tag2"和" tag3",然后将它们放入" tag__name__in":

queryset=List.objects.filter(tag__name__in=[tag1, tag2, tag3])
Run Code Online (Sandbox Code Playgroud)

基本上我对基于类的通用视图感到困惑.任何的想法?

regex tags django url view

7
推荐指数
1
解决办法
6491
查看次数

如何在Django ModelForm中删除"None"选项?

例如,我有一个这样的模型:

class Item(models.Model):
    TYPE_CHOICES = (
        (1, _('type 1')),
        (2, _('type 2')),
    )
    type = models.PositiveSmallIntegerField(max_length=1, choices=TYPE_CHOICES)
Run Code Online (Sandbox Code Playgroud)

对于我有的形式:

class ItemModelForm(forms.ModelForm):
    class Meta:
        model = Item
        widget = {
            'type': forms.RadioSelect(),
        }
Run Code Online (Sandbox Code Playgroud)

我想要的是具有2个选项的无线电选择("类型1"和"类型2").但是,我将有3个选项,"---------","类型1"和"类型2".我认为"---------"代表"无",但模型中需要"类型"字段,为什么"无"选项仍然显示?

但是如果我使用Form代替:

class ItemForm(forms.Form):
    type = forms.ChoiceField(widget=forms.RadioSelect(), choices=Item.TYPE_CHOICES)
Run Code Online (Sandbox Code Playgroud)

我将只有2个选项,"类型1"和"类型2",这是正确的.

我想使用ModelForm而不是标准Form,但不知道如何删除"---------".有人能帮助我吗?谢谢.

更新:谢谢大家,刚刚发现它已在这里得到解答.

看起来我将不得不覆盖ModelForm 的字段方法.

django django-models django-forms

6
推荐指数
1
解决办法
3998
查看次数

Django 1.3 新的“本地化”标签/过滤器不起作用?

我注意到 Django 1.3 引入了新的“localize”标签/过滤器。 http://docs.djangoproject.com/en/1.3/topics/i18n/localization/

它说:

要激活或停用模板块的本地化,请使用:

{% localize on %}
    {{ value }}
{% endlocalize %}

{% localize off %}
    {{ value }}
{% endlocalize %}
Run Code Online (Sandbox Code Playgroud)

但是我总是收到错误消息:

无效的块标签:“localize”

看起来“本地化”过滤器也不起作用。有谁能够帮助我?或者其他人可以确认这是否是一个错误?谢谢!

django templates

5
推荐指数
1
解决办法
858
查看次数

如何限制 django-taggit 仅接受小写单词?

我正在使用 django-taggit。我希望所有标签都小写,还设置标签编号的范围(比如在 1 到 5 之间,就像 stackoverflow 一样)。有什么办法可以用 django-taggit 轻松做到这一点吗?谢谢!

tags django django-taggit

5
推荐指数
1
解决办法
1641
查看次数

使用Django模板过滤器进行数学运算?

在我的数据库中,我有一个存储价格信息的整数字段,如"10399","84700".显示时,它们应为"$ 103.99"和"$ 847.00".

我需要显示int*0.01.

我想知道是否有办法使用Django模板过滤器?喜欢:

{{ item.price|int_to_float_and_times_0.01 }}
Run Code Online (Sandbox Code Playgroud)

另一个问题,实际上我选择了整数,因为我认为它比在数据库中使用float更有效.真的吗?

python django templates filter

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