通用视图请求处理 Django
Generic views request handling Django
我是 Django 的新手。我想使用这样的通用视图:
class photogalleryView(generic.ListView):
template_name = 'xxx/photogallery.html'
model = Foto
query = Foto.objects.all()
def get_queryset(self):
return self.query
而且我完全不知道如何处理 GET 或 POST 请求或类似 PHP 中的 $_SESSION 之类的东西,你能给我一些建议吗?
非常感谢你们!
例如 - 我想处理这个 URL:
的 GET 请求
http://127.0.0.1:8000/photogallery?filter=smth
查看 documentation 基于 class 的视图,如果这是您想要使用的。
您可以将 get
和 post
methods 添加到您的 class,它们将在每个相应的请求上触发。
这些方法采用 request
参数,可用于从客户端、会话和登录用户访问数据。查看文档了解详细信息。
首先,返回相同的 QuerySet
对象 query = Foto.objects.all()
没有多大意义,并且在您尝试使用过滤器和分页时可能(并且将会)给您带来麻烦。如果您想手动修改 QuerySet
,请执行以下操作:
def get_queryset(self, *args, **kwargs):
qs = super().get_queryset(*args, **kwargs)
# modify the qs QuerySet in the way you want
return qs
在 Django 中,您通常不使用 GET 或 POST。 Django 会为你处理 :)
你想要实现的例子在这里:
https://docs.djangoproject.com/en/1.11/topics/class-based-views/generic-display/#dynamic-filtering
事实上,Django 文档非常好且全面,至少对于 public 功能而言。
请注意示例中的 url(r'^books/([\w-]+)/$', PublisherBookList.as_view()),
,其中 ([\w-]+)
RegEx 组捕获了一些参数(例如 "smith"),稍后您可以在 get_queryset
方法中使用这些参数(如 self.args[0]
在例子中)。
要了解有关 url 模式的更多信息,请阅读以下文档:
https://docs.djangoproject.com/en/1.10/topics/http/urls/#named-groups
我是 Django 的新手。我想使用这样的通用视图:
class photogalleryView(generic.ListView):
template_name = 'xxx/photogallery.html'
model = Foto
query = Foto.objects.all()
def get_queryset(self):
return self.query
而且我完全不知道如何处理 GET 或 POST 请求或类似 PHP 中的 $_SESSION 之类的东西,你能给我一些建议吗? 非常感谢你们!
例如 - 我想处理这个 URL:
的 GET 请求http://127.0.0.1:8000/photogallery?filter=smth
查看 documentation 基于 class 的视图,如果这是您想要使用的。
您可以将 get
和 post
methods 添加到您的 class,它们将在每个相应的请求上触发。
这些方法采用 request
参数,可用于从客户端、会话和登录用户访问数据。查看文档了解详细信息。
首先,返回相同的 QuerySet
对象 query = Foto.objects.all()
没有多大意义,并且在您尝试使用过滤器和分页时可能(并且将会)给您带来麻烦。如果您想手动修改 QuerySet
,请执行以下操作:
def get_queryset(self, *args, **kwargs):
qs = super().get_queryset(*args, **kwargs)
# modify the qs QuerySet in the way you want
return qs
在 Django 中,您通常不使用 GET 或 POST。 Django 会为你处理 :) 你想要实现的例子在这里: https://docs.djangoproject.com/en/1.11/topics/class-based-views/generic-display/#dynamic-filtering
事实上,Django 文档非常好且全面,至少对于 public 功能而言。
请注意示例中的 url(r'^books/([\w-]+)/$', PublisherBookList.as_view()),
,其中 ([\w-]+)
RegEx 组捕获了一些参数(例如 "smith"),稍后您可以在 get_queryset
方法中使用这些参数(如 self.args[0]
在例子中)。
要了解有关 url 模式的更多信息,请阅读以下文档: https://docs.djangoproject.com/en/1.10/topics/http/urls/#named-groups