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的代码如下:



	
		
		EasyBug1.0
	
	
		
{% csrf_token %}

username:

在urls.py中配置好url映射后,访问对应的url,填好表单。既可以将表单中的相应数据存入数据库中了。

你可能感兴趣的:(Django)