Django Form表单
2013-10-20 19:57
399 查看
如果在Django中,需要将一个表单中的数据保存在数据库中,可以通过如下方式。
首先,确定数据表,它应该包含一个id主键(自增长),和一个username的20变长字符串。
那么,首先定义model:
此时,在cmd中执行manage.py syncdb,数据库中即会出现一张如下格式的数据表:
- Table: userauth_test
-- DROP TABLE userauth_test;
CREATE TABLE userauth_test
(
id serial NOT NULL,
username character varying(20) NOT NULL,
CONSTRAINT userauth_test_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE userauth_test OWNER TO ****;
这时定义与model相对应的form,并与model关联起来:
再定义起到胶水作用的view(Django的是MVT架构,这里的view类似于MVC架构中的C层部分):
即先从request当中取得表单提交的username,然后再用model保存,最后在form保存;然后再转向login.html。
login.html的代码如下:
在urls.py中配置好url映射后,访问对应的url,填好表单。既可以将表单中的相应数据存入数据库中了。
首先,确定数据表,它应该包含一个id主键(自增长),和一个username的20变长字符串。
那么,首先定义model:
from django.db import models class Test(models.Model): username = models.CharField(max_length=20)
此时,在cmd中执行manage.py syncdb,数据库中即会出现一张如下格式的数据表:
- Table: userauth_test
-- DROP TABLE userauth_test;
CREATE TABLE userauth_test
(
id serial NOT NULL,
username character varying(20) NOT NULL,
CONSTRAINT userauth_test_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE userauth_test OWNER TO ****;
这时定义与model相对应的form,并与model关联起来:
from django import forms from django.db import models from userauth.models import * class LoginForm(forms.ModelForm): username = forms.CharField(max_length=20) class Meta: model = Test
再定义起到胶水作用的view(Django的是MVT架构,这里的view类似于MVC架构中的C层部分):
def login(request): username = request.POST['username'] form = LoginForm({'username':username}) test = form.save(commit=False) test.save() form.save() return render_to_response('login.html',RequestContext(request,{'username':username}))
即先从request当中取得表单提交的username,然后再用model保存,最后在form保存;然后再转向login.html。
login.html的代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title>EasyBug1.0</title> </head> <body> <form action="login" method="post">{% csrf_token %} <p>username:<input type="text" name="username" value="{{username}}"/> <input type="submit" name="login"/></p> </form> </body> <html>
在urls.py中配置好url映射后,访问对应的url,填好表单。既可以将表单中的相应数据存入数据库中了。
相关文章推荐
- [恒泰医学研究院] django _popup=1 在弹出的form表单中修改完数据之后,关闭当前窗口并刷新父窗口
- django form 表单重复提交的解决方案
- django 学习个人总结 之form表单提交
- Django Admin用户登录(form表单处理方法)
- Django:我是怎么做到使用django动态定义表单(form)的 .
- Django中的Form表单
- Django中的form表单
- Django form表单使用
- django项目培训站-18-form表单验证-表单验证类-视图类代替函数
- Django学习系列之Form表单结合ajax
- Django表单form ajax简单应用
- django中form表单设置action后无法回到原页面的问题
- python3开发进阶-Django框架的Form表单系统和基本操作
- Django的form表单之文件上传
- Python中使用django form表单验证的方法
- 3.django笔记之form表单
- django学习08---Form表单提交
- Django中 form表单的使用
- 【Django】Django—Form两种解决表单数据无法动态刷新的方法
- Django学习笔记六:form表单实现评论(检验数据合法性)