zoukankan      html  css  js  c++  java
  • Django form入门详解--1

     form在django中的作用:

      1、可以用于自动生成form的html

      2、数据校验

      3、与model一在一起使用、可以大的方便数据驱动型网站的开发

    编程中有许多的东西是“不可描述”的、只有动手去操作一下才会有感觉、下面是一个form使用的入门级例子

    1、定义form类:

    from django import forms 
    
    class NameForm(forms.Form):
        your_name = forms.CharField(label='Your name', max_length=100)

    2、在template中使用form:

    <html>
        <head>
            <title>your name</title>
            <meta charset="utf8"/>
        </head>
    
        <body>
            <form action={% url 'your-name' %} method="POST">
                {% csrf_token %} 
                {{ form }}
                <input type="submit" value="submit">
            </form>
        </body>
    </html>

     3、创建视图:

    from django.shortcuts import render
    from django.http import HttpResponse
    from app01.forms import NameForm
    #from django.http import views
    # Create your views here.
    
    
    def yourName(request):
        """
        """
        if request.method == 'POST':
            #根据POST上来的数据创建form表单
            form = NameForm(request.POST)
            #校验表单的数据
            if form.is_valid():
                #返回一个类似 Hello xxx的页面
                return HttpResponse('Hello {0}'.format(form.cleaned_data['your_name']))
        #如果不是POST那么就让用户填写表单数据
        return render(request,'app01/your-name-form.html',context={'form':NameForm()})

     4、防问your-name页面:

      get的方式访问页面

      填写名字到输入框

       提交表单数据

    总结:

      1、上面的例子中用于了form的两个工能,一个是自动渲染html标签、另一个是数据校验

      页面的html代码如下:

    <html>
        <head>
            <title>your name</title>
            <meta charset="utf8"/>
        </head>
    
        <body>
            <form action=/app01/yourname method="POST">
                <input type='hidden' name='csrfmiddlewaretoken' value='H1wmfUgQ6yMjJyEAjhnjnlHXOSjxLUKlhyjEoJBqArgQJaTTKygpxcL6ZIjXsDom' /> 
                <tr><th><label for="id_your_name">Your name:</label></th><td><input type="text" name="your_name" maxlength="100" required id="id_your_name" /></td></tr>
                <input type="submit" value="submit">
            </form>
        </body>
    </html>

      数据检验

            if form.is_valid():
                #返回一个类似 Hello xxx的页面
                return HttpResponse('Hello {0}'.format(form.cleaned_data['your_name']))

    ----------------------------------------------------------------------------------------------

  • 相关阅读:
    leetcode
    面试知识点
    关于flock文件锁的阻塞与非阻塞
    cetos7 安装telnet
    github 获取 token
    windows安装composer
    编码问题
    RabbitMQ 关键词解释
    windows下安装rabbitmq以及php扩展amqp
    windows下安装oracle客户端和php扩展
  • 原文地址:https://www.cnblogs.com/JiangLe/p/8582703.html
Copyright © 2011-2022 走看看