sud*_*har 15 django django-views django-class-based-views
很抱歉,如果这是一个微不足道的问题,但我一直在寻找一段时间,并且无法找到一个好的实现.
有人可以通过继承任何通用视图来提供如何在Django中实现仅后视图(可以处理文件上传)的示例吗?
我想创建一个处理所有博客帖子评论创建逻辑的端点.评论表格嵌入在我的博客页面上,因此,这些数据将被发送到网址POST.
Ala*_*air 24
该View班有一个http_method_names列出的HTTP方法,该视图将接受属性.
因此,您可以子类化您喜欢的任何通用视图(例如,CreateView),并设置http_method_names为仅允许POST请求.
from django.views.generic.edit import CreateView
class CommentCreateView(CreateView):
http_method_names = ['post']
model = Comment
...
Run Code Online (Sandbox Code Playgroud)
或者,您可以子类化View,并编写自己的post方法.
class CommentView(View):
def post(self, request):
...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,GET请求将返回HttpResponseNotAllowed响应,因为您尚未定义get处理GET请求的方法.
你可以尝试类似的东西:
class MyView(TemplateView):
template_name = 'my_template.html'
def post(self, request, **kwargs):
my_data = request.POST
# do something with your data
context = {} # set your context
return super(TemplateView, self).render_to_response(context)
Run Code Online (Sandbox Code Playgroud)