django python - 通用视图和cookie

时间:2010-03-09 11:08:50

标签: python django django-generic-views

我在网上使用generic_view创建了一个菜单 - 在urls.py文件中使用简单的'django.views.generic.list_detail.object_list'。 每当用户选择此列表中的一个元素[HttpResponse.set_cookie(...)]时,我想设置一个cookie。 什么是最好的解决方案?我应该在views.py中编写函数还是你有更简单的解决方案?

编辑1

这是我urls.py的片段:

manufacturer_dict = {
                        'queryset': Manufacturer.objects.all()

                     }

urlpatterns = patterns('',

    url(r'^$', 'django.views.generic.list_detail.object_list', manufacturer_dict),



)

模板:manufacturer_list.html

<ul>
{% for object in object_list %}
    <li><a href="{{object.get_absolute_url}}" title="{{object.name}}">{{object.name}}</a></li>
{% endfor %}
</ul>

我只使用generic_views。

这是手机型号列表。我想记住cookie中的用户移动模型。

1 个答案:

答案 0 :(得分:1)

通用视图是处理几种常见情况的简单视图,例如在不需要视图逻辑时呈现模板。在您的情况下,您希望为视图添加功能(即设置cookie),因此您需要编写自定义视图。此外,您不应在urls.py(查询集调用)中添加视图逻辑,这属于views.py

因此,流程可能如下所示:

1)使用表单在模板中显示手机型号。

2)当用户从下拉菜单(或类似的东西)中选择手机型号时,将手机型号发送到views.py中的功能

3)此功能接收手机型号并使用包含手机型号的cookie进行响应。

但是,我不太确定您为什么要将手机型号存储在cookie中。