这是我在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)
基本上我对基于类的通用视图感到困惑.任何的想法?
例如,我有一个这样的模型:
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 1.3 引入了新的“localize”标签/过滤器。 http://docs.djangoproject.com/en/1.3/topics/i18n/localization/
它说:
要激活或停用模板块的本地化,请使用:
Run Code Online (Sandbox Code Playgroud){% localize on %} {{ value }} {% endlocalize %} {% localize off %} {{ value }} {% endlocalize %}
但是我总是收到错误消息:
无效的块标签:“localize”
看起来“本地化”过滤器也不起作用。有谁能够帮助我?或者其他人可以确认这是否是一个错误?谢谢!
我正在使用 django-taggit。我希望所有标签都小写,还设置标签编号的范围(比如在 1 到 5 之间,就像 stackoverflow 一样)。有什么办法可以用 django-taggit 轻松做到这一点吗?谢谢!
在我的数据库中,我有一个存储价格信息的整数字段,如"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更有效.真的吗?