Django Form表单

如果在Django中,需要将一个表单中的数据保存在数据库中,可以通过如下方式。

首先,确定数据表,它应该包含一个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,填好表单。既可以将表单中的相应数据存入数据库中了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值