Django中Forms的使用代码解析

yipeiwu_com5年前Python基础

本文研究的主要是Django中Forms的使用,具体如下。

创建文件do.html

{% extends 'base.html' %} 
 
{% block mainbody %} 
   
  <form action="/app1/do/" method="post"> 
    {% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Submit"> 
  </form> 
 
{% for item in student %} 
  <p>{{ item.id }}, {{ item }}</p> 
{% endfor %} 
 
{% endblock %} 

在urls.py中添加路径:

url(r'^do/', 'app1.views.do'),

在views.py中定义do函数

from django.shortcuts import render 
from django.core.context_processors import csrf 
from app1.models import Student 
from django import forms 
 
def do(request): 
  context = {} 
  context.update(csrf(request)) 
  if request.POST: 
    form = StudnetForm(request.POST) 
    if form.is_valid(): 
      name = form.cleaned_data['name'] 
      student = Student(name = name) 
      student.save() 
  form = StudnetForm() 
  context = {} 
  context.update(csrf(request)) 
  student_list = Student.objects.all() 
  context['student'] = student_list 
  context['form'] = form  
  return render(request, 'do.html', context) 

现在的数据库里面有四条数据:

访问 http://localhost:8000/app1/do/

可以看到

然后添加Name:

可以看到数据添加到了数据库中:

可以定义多个Form 只需要在view和template中的对应即可,具体的Form的使用可以查看Form的API ,官方网址:https://docs.djangoproject.com/en/1.8/ref/forms/api/

总结

总的来说,Django是一个非常优秀的框架,用起来方便,许多公司招聘Python也都要求懂一些Django。

以上就是本文关于Django中Forms的使用代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

pyqt 实现为长内容添加滑轮 scrollArea

pyqt 实现为长内容添加滑轮 scrollArea

如果一个页面里头的内容太长,怎么办? 之前一直以为要添加Scroll Bar,但是不知道怎么把bar和内容关联到一起(有了解的朋友希望给我留言),后来发现可以用Scroll Area实现...

使用Python制作简单的小程序IP查看器功能

使用Python制作简单的小程序IP查看器功能

前言 说实话,查看电脑的IP,也挺无聊的,但是够简单,所以就从这里开始吧。IP地址在操作系统里就可以直接查看。但是除了IP地址,我们也想通过IP获取地理地址和网络运营商情况。IP地址和地...

python按照多个字符对字符串进行分割的方法

本文实例讲述了python按照多个字符对字符串进行分割的方法。分享给大家供大家参考。具体分析如下: 这段python代码通过这规则表达式对字符串进行分割,使用\w作为分割符,只要不是字母...

Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】

本文深入分析了Python面向对象程序设计OOP。分享给大家供大家参考,具体如下: 下面是一个关于OOP的实例,模块文件为person.py # File person.py(sta...

python使用正则表达式替换匹配成功的组并输出替换的次数

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块...