- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些问题要弄清楚新的 django View (模板 View )和表单如何工作我也找不到好的资源,官方文档没有解释我如何获取请求(我的意思是获取和发布)和新表单django View 类
谢谢
添加以便更好地解释
例如我有这个表格:
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)
def contact(request):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ContactForm() # An unbound form
return render_to_response('contact.html', {
'form': form,
})
最佳答案
改用 FormView,即
from django.views.generic import TemplateView, FormView
from forms import ContactUsEmailForm
class ContactView(FormView):
template_name = 'contact_us/contact_us.html'
form_class = ContactUsEmailForm
success_url = '.'
def get_context_data(self, **kwargs):
context = super(ContactView, self).get_context_data(**kwargs)
#context["testing_out"] = "this is a new context var"
return context
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
#form.send_email()
#print "form is valid"
return super(ContactView, self).form_valid(form)
class ContactUsView(TemplateView):
template_name = 'contact_us/contact_us.html'
def post(self, request, *args, **kwargs):
context = self.get_context_data()
if context["form"].is_valid():
print 'yes done'
#save your model
#redirect
return super(TemplateView, self).render_to_response(context)
def get_context_data(self, **kwargs):
context = super(ContactUsView, self).get_context_data(**kwargs)
form = ContactUsEmailForm(self.request.POST or None) # instance= None
context["form"] = form
#context["latest_article"] = latest_article
return context
关于django TemplateView 和表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8133505/
我有一些问题要弄清楚新的 django View (模板 View )和表单如何工作我也找不到好的资源,官方文档没有解释我如何获取请求(我的意思是获取和发布)和新表单django View 类 谢谢
我开始将基于函数的 View 转换为基于类的 View 。这是我第一次使用基于类的 View ,所以我真的不知道正确的方法。 FBV的代码: @auth_check def thank_you(req
我有一个由 TemplateView 生成的页面,其中包含一个 POST 表单。 如何将此表单与 TemplateView 一起使用。 有一个类似于我的代码的示例: class ProjetMixin
我知道这个问题可能已经被问了一百万次,但我一直在寻找,但找不到答案。我正在尝试创建几个选择下拉列表以用作索引页面上的搜索过滤器。我已经向模型加载了数据,但是当我尝试在模板上渲染数据时,我看不到模型中的
我想创建一个模板 View ,但需要即时使用可编辑模板,为此我可以根据存储在表字段内的代码设置模板。 # some_app/views.py from django.views.generic imp
我的 Django 结构是: testing contacts __init__.py templates contacts
我曾经在 Django 中用这样的函数定义我的页面: def pdf(request): return render(request, 'blog/pdf.html', {'title':
我在我的项目中拥有内部帐户隐私权限(例如,只有 friend 可以查看用户的个人资料页面),并且我希望针对这种情况拥有自定义权限拒绝页面。有没有办法从 TemplateView 返回状态代码等于 40
我创建了一个Django项目并准备了3个html页面。顺便说一句,我的英语不好,我提前道歉。 这是views.py文件示例; class HomePageView(TemplateView):
我正在尝试将装饰器 @xframe_options_exempt 添加到 django 模板 View 中,但它与 Exception Value: 'dict' object has no attr
我创建了一个Django项目并准备了3个html页面。顺便说一句,我的英语不好,我提前道歉。 这是views.py文件示例; class HomePageView(TemplateView):
我有这段代码: # newspaper_project/urls.py from django.contrib import admin from django.urls import path, i
我正在尝试使用 TemplateView.as_view()在 urls.py然后使用 ye olde templatetag 命名它 url .这应该工作吗?还是我只是做错了..?还是我的应用程序中
目前,我有以下付款按钮。 PAY NOW 当用户点击链接时,幕后发生的事情如下。 获取用户的 token 输入。 支付网关处理收到的 token ,并返回成功/失败结果。 向用户显示成功/失败结果。
我遇到了挑战,希望你能帮助我克服。 正在构建一个 django 驱动的应用程序,用于电影票预订,但表单不足。 当用户点击特定电影时,我想呈现一个页面,其中包含一个表单,用户可以在其中选择他/她的门票选
我在应用程序中有 url,当我转到 article-report url 时,我看到了 django 错误页面有文章的 url,但是没有文章报告的 url。 main.urls.py from res
这是我的观点(简化): class MyView(TemplateView): def __init__(self): self.foo = 'bar' sup
希望将我的项目更新到 django 的最新版本,并发现通用 View 发生了很大变化。查看文档,我发现他们将所有通用内容更改为基于类的 View 。我在很大程度上了解其用法,但是对于为 View 返回
我有一个如下所示的 url 映射: url(r'^(?P[a-z][a-z])/$', MyTemplateView.as_view()), 对于 lang,我只接受几个值。捕获组,即: (1) ro
我正在尝试将消息添加到第一个 View 并通过重定向将它们传递到第二个 View : 第一 View : def index(request): ...etc... messages.
我是一名优秀的程序员,十分优秀!