Django CreateView, TemplateView简单示例
2013-10-07 15:55
489 查看
点击提交后,窗口显示thanks,同时将输入内容保存至数据库。
一、目录结构:
mysite/
manage.py
myapp/
__init__.py
urls.py
models.py
tests.py
views.py
templates/
myapp/
thanks.html
author_create_form.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 AuthorCreate, ThanksView urlpatterns = patterns('', url(r'^author_create/', AuthorCreate.as_view()), url(r'^thanks/', ThanksView.as_view()), )
# mysite/myapp/views.py from django.views.generic import TemplateView from django.views.generic.edit import CreateView class ThanksView(TemplateView): template_name = 'myapp/thanks.html' class AuthorCreate(CreateView): model = Author template_name_suffix = '_create_form' success_url = '/myapp/thanks/'
# mysite/myapp/models.py from django.db import models class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) def __unicode__(self): return '%s %s' % (self.first_name, self.last_name)
# mysite/myapp/templates/myapp/author_create_form.html <html> <head><title>Author Create</title></head> <body> <form method="post"> {% csrf_token %} <table> <tr><th>First Name</th><td>{{ form.first_name }}</td></tr> <tr><th>Last Name</th><td>{{ form.last_name }}</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>
>>> from myapp.models import Author
>>> Author.objects.all()[4]
<Author: Steve Jobs>
相关文章推荐
- Django FormView, TemplateView简单示例
- 使用go实现的lisp
- 谷歌建议不要在内部链接中使用nofollow
- 看django视频笔记
- golismero之CheetSheet
- 划分算法
- Django新手十个开发指导
- 数位DP--HDU4722(Good Numbers)
- 每天一道算法_4_Hangover
- HDU 4195 Regular Convex Polygon(正多边形)
- ubuntu12.04:apt-get 依赖版本过高( Depends: binutils-msp430 (>= 2.21~) but it is not going to be )
- poj 2262 Goldbach's Conjecture 【素数筛】
- 用django搭建一个简易blog系统(翻译)(四)
- hdu 4541 Ten Googol (水题)
- Ubuntu 12.04安装Google Chrome
- hdu 3221 Brute-force Algorithm (09上海区域赛)欧拉定理
- hdu 3221 Brute-force Algorithm (09上海区域赛)欧拉定理
- ZOJ 3422 / SOJ 3883: Go Deeper
- 用django搭建一个简易blog系统(翻译)(三)
- GoogleJam_Cross the maze