Django FormView, TemplateView简单示例

本文通过实例展示了Django中FormView和TemplateView的使用,提交表单后,页面跳转显示'thanks'。目录包括相关文件结构,涉及forms.py、views.py和模板文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


点击提交后,窗口显示thanks.


一、目录结构:

mysite/

manage.py

myapp/

__init__.py

urls.py

forms.py

models.py

tests.py

views.py

templates/

myapp/

thanks.html

contact.html

mysite/

__init__.py

settings.py

urls.py

wsgi.py


二、代码

# mysite/mysite/urls.py
from django.conf.urls import patterns, include, url

urlpatterns = patterns('',
    url(r'^myapp/', include('myapp.urls')),
)

# mysite/myapp/urls.py
from django.conf.urls import patterns, url
from .views import ContactView, ThanksView

urlpatterns = patterns('',
    url(r'^contact/', ContactView.as_view()),
    url(r'^thanks/', ThanksView.as_view()),
)


# mysite/myapp/views.py
from django.views.generic import TemplateView
from django.views.generic.edit import FormView
from .forms import ContactForm

class ThanksView(TemplateView):
    template_name = 'myapp/thanks.html'

class ContactView(FormView):
    template_name = 'myapp/contact.html'
    form_class = ContactForm
    success_url = '/myapp/thanks/'


# mysite/myapp/forms.py
from django import forms

class ContactForm(forms.Form):
    name = forms.CharField()
    message = forms.CharField(widget=forms.Textarea)


# mysite/myapp/templates/myapp/contact.html

<html>
<head><title>Contact</title></head>
<body>
<form method="post">
{% csrf_token %}
<table>
<tr><th>Name</th><td>{{ form.name }}</td></tr>
<tr><th>Message</th><td>{{ form.message }}</td></tr>
<tr><td colspan="2"><input type="submit" /></td></tr>
</form>
</body>
</html>


# mysite/myapp/templates/myapp/thanks.html

<html>
<head><title>Thanks!</title></head>
<body>
Thanks!
</body>
</html>














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值