我已经在views.py
django应用程序中创建了一个Class视图。
class HelloTemplate(TemplateView):
template_name = "index.html"
def get_context_data(self, **kwargs):
context = super(HelloTemplate, self).get_context_data(**kwargs)
return context
现在,我在html页面中定义了一个表单:
<form method="get">
<input type="text" name="q">
<input type="text" name="q1">
<input type="submit" value="Search">
</form>
如您所见,我正在form
同一页面上提交。
现在,我想在HelloTemplate
班级中获取表单提交的值。我不想在现有类之外创建另一个类或方法。
另外,如果在django中未验证数据,我想向HTML表单发送错误消息。
我不知道该怎么做,请帮帮我。
您需要在视图类中定义get
(因为您的表单使用get method定义<form method="get">
)方法:
class HelloTemplate(TemplateView):
template_name = "index.html"
def get_context_data(self, **kwargs):
context = super(HelloTemplate, self).get_context_data(**kwargs)
return context
def get(self, request, *args, **kwargs):
q = request.GET.get('q')
error = ''
if not q:
error = "error message"
return render(request, self.template_name, {'error': error})
django docs中的更多信息在这里基于类的视图简介
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句