标签:django form
先看下下面这个简单的方法: from django.http import HttpResponse def hello(request): return HttpResponse("Hello world") 从这个request中我们可以得到很多信息 request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版本号)。 注意,Header信息的完整列表取决于用户所发送的Header信息和服务器端设置的Header信息。 这个字典中几个常见的键值有: HTTP_REFERER,进站前链接网页,如果有的话。 (请注意,它是REFERRER的笔误。) HTTP_USER_AGENT,用户浏览器的user-agent字符串,如果有的话。 例如:"Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17" . REMOTE_ADDR 客户端IP,如:"12.345.67.89" 。(如果申请是经过代理服务器的话,那么它可能是以逗号分割的多个IP地址,如:"12.345.67.89,23.456.78.90" 。) 使用get方法来访问一个可能不存在的键值 ua = request.META.get(‘HTTP_USER_AGENT‘, ‘unknown‘) 使用GET方法的数据是通过查询字符串的方式传递的(例如/search/?q=django),所以我们可以使用requet.GET来获取这些数据:request.GET[‘q‘] 创建自己的Form类: >>> from contact.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> 默认输出是table格式,我们还可以输出ul、p格式 print f.as_ul() print f.as_p() 创建一个Form >>> f = ContactForm({‘subject‘: ‘Hello‘, ‘email‘: ‘adrian@example.com‘, ‘message‘: ‘Nice site!‘}) >>> f.is_bound True >>> f.is_valid() 验证数据是否合法 True 查看Form的错误信息: >>> f = ContactForm({‘subject‘: ‘Hello‘, ‘message‘: ‘‘}) >>> f[‘message‘].errors [u‘This field is required.‘] >>> f[‘subject‘].errors [] >>> f[‘email‘].errors [] 清理数据: >>> f.cleaned_data {message‘: uNice site!, email: uadrian@example.com, subject: uHello}
本文出自 “leboit” 博客,谢绝转载!
标签:django form
原文地址:http://leboit.blog.51cto.com/1465210/1688041