目录D:\newtest
第一步:
D:\newtest> manage.py startapp contact
产生文件
__init__.py
models.py
views.py
第二步:
在contact目录中新建forms.py文件
forms.py内容如下
# -*- coding: UTF-8 -*-
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField()
email = forms.EmailField(required=False)
message = forms.CharField()
第三步:setting.py INSTALLED_APPS 加入应用程序
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'newtest.wiki',
'newtest.address',
'newtest.classmate',
'newtest.ajax',
'newtest.contact',#这是新加的
第四步:
D:\newtest>python manage.py shell
>>> from address.forms import ContactForm
>>> f = ContactForm()
>>> print f
<tr><th><label for="id_subject">Subject:</label></th><td><input type="text" name="subject" id="id_subject" /></td></tr>
<tr><th><label for="id_email">Email:</label></th><td><input type="text" name="email" id="id_email" /></td></tr>
<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" /></td></tr>
>>> print f.as_ul()
<li><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /></li>
<li><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></li>
<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></li>
>>> print f.as_p()
<p><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /></p>
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></p>
>>> print f.as_d()
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'ContactForm' object has no attribute 'as_d'
>>> print f.as_p()
<p><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /></p>
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></p>
>>> print f['subject']
<input type="text" name="subject" id="id_subject" />
>>> print f['message']
<input type="text" name="message" id="id_message" />
>>> ^Z
D:\newtest> manage.py startapp contact
Error: [Error 183] : 'D:\\newtest\\..\\newtest\\contact'
D:\newtest> manage.py startapp contact
D:\newtest>python manage.py shell
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from contact.forms import ContactForm
>>> f = ContactForm()
>>> f
<contact.forms.ContactForm object at 0x0115FB90>
>>> print f #或者print f.as_table()结果一样
<tr><th><label for="id_subject">Subject:</label></th><td><input type="text" name="subject" id="id_subject" /></td></tr>
<tr><th><label for="id_email">Email:</label></th><td><input type="text" name="email" id="id_email" /></td></tr>
<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" /></td></tr>
>>> print f.as_ul()
#注意到<li>没有
<li><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /></li>
<li><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></li>
<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></li>
>>> print f.as_p()
#注意到<p>没有
<p><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /></p>
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></p>
>>> print f['subject']
<input type="text" name="subject" id="id_subject" />
>>> print f['message']
<input type="text" name="message" id="id_message" />
>>> print f['email']
<input type="text" name="email" id="id_email" />
>>> f = ContactForm({'subject':'Hello','email':'admin@sohu.com','message':'this is a forms instance'})
>>> f.is_bound
True
>>> f.is_valid()
False
>>> f = ContactForm({'subject':'Hello','message':'Nice site'})
>>> f.is_valid()
False
>>> f['message'].errors
[u'This field is required.']
>>> f['subject'].errors
[]
>>> f['email'].errors
[]
>>> f.errors
{'message': [u'This field is required.']}
>>> f = ContactForm({'subject':'Hello','email':'admin@sohu.com','message':'this is a forms
>>> f.is_valid()
True
>>> f.cleaned_data
{'message': u'this is a forms instance', 'email': u'admin@sohu.com', 'subject': u'Hello'}
分享到:
相关推荐
Django2非常好的入门教程,讲解清晰明白,内容详实,分享给大家
Django 快速实战入门代码压缩包,配合Django 快速实战入门文档使用
Django REST 框架/React快速入门
Django 快速实战入门.docDjango 快速实战入门.docDjango 快速实战入门.doc
django入门与实践
本文档为Django入门知识,其中详细的讲解了如何搭建第一个Django程序。
。。。
Django实战
前言Django入门与实践-第1章:环境搭建- 6 -所以,请动起手来!不要只是阅读教程。我们一起来练习!通过实践和练习你会收获的更多。Django是一个用py
Django 快速实战入门,(一):概述、(二):组建开发环境、(三):视图控制、(四):模板系统、(五):数据模型、(六):表单模型、(七):admin 应用、(八):部署 Django
微信小程序会议室预约微信小程序+Django服务端后台源码微信小程序会议室预约微信小程序+Django服务端后台源码微信小程序会议室预约微信小程序+Django服务端后台源码微信小程序会议室预约微信小程序+Django服务端后台...
会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 ...
python+django 使用mtv框架开发,web入门程序使用mysql数据库 python+django 使用mtv框架开发,web入门程序使用mysql数据库 python+django 使用mtv框架开发,web入门程序使用mysql数据库 python+django 使用mtv...
django从入门到精通的实战教程,作者是薯条老师大神
Python Django快速入门系列的项目源码
pythonDjango框架快速⼊门教程(后台管理) 框架快速⼊门教程(后台管理) Python下有许多款不同的 Web 框架。Django是重量级选⼿中最有代表性的⼀位。许多成功的⽹站和APP都基于Django。 Django 是⼀个开放源代码的...
通过Django程序实现对WeChat接口的请求,可以和微信联系人实现收发消息
Django1.5 官方入门教程第1部分中文版
最简单的Django教程,有项目在里面,高清大图,快速上手项目!
python + django 写的文件上传与下载小程序模板