• frontend2_s9_part2_fe_d48_form


    frontend2_s9_part2_d48_form

    fe1_s9_part2_d47

    pycharm小技巧:
    输入
    li*4>a>{$}
    按tab键自动补全可以看到多个列表自动生成

    返回顶部

    s9_part2_fe_d48_form

    form提交表单

    
    <form method="post" action="http://127.0.0.1:8000" enctype="multipart/form-data">
        <p>
            <lable for="u_text">username:</lable>
            <input type="text" name="username" placeholder='请输入用户名'>
            <!--value设置默认值,placeholder设置占位内容-->
        </p>
        <p>
            <lable for="p_text">username:</lable>
            <input type="password" id="p_text" name="password">
        </p>
        <!-- 单选框 -->
        <p>
            <lable for="gender1">男</lable> <!--这是一种label写法,另一种写法是用lable包起来-->
            <input id="gender1" type="radio" name="gender" value="0">
            <lable for="gender2">女</lable>
            <input id="gender2" type="radio" name="gender" value="1">
            <lable for="gender3">保密</lable>
            <input id=gneder3 type="radio" checked name="gender" value="2">
        </p>
        <!-- 复选框 -->
        <p>爱好:
            <input type="checkbox" name="hobby" value="basketball">篮球
            <input type="checkbox" name="hobby" value="football">足球
            <input type="checkbox" name="hobby" value="badminton">羽毛球
        </p>
        <!--日期-->
        <p>birthday
            <input name="birthday" type="date">
    
        </p>
        <!-- 下拉菜单之不分组的select -->
        <p>
            <select id="s1" name="province">
                <option value="beijing">北京</option>
                <option value="sichuan">四川</option>
                <option value="shanghai">上海</option>
            </select>
    
        </p>
        <p>
            <!-- 下拉菜单之分组的select -->
    
            <select id="s2" name="city">
                <optgroup label="北京"></optgroup>
                <option value="cp">昌平</option>
                <option value="hd">海淀</option>
                <option value="cy">朝阳</option>
                <optgroup label="四川"></optgroup>
                <option value="cd">成都</option>
                <option value="ls">乐山</option>
                <option value="my">绵阳</option>
            </select>
        </p>
        <!-- textarea -->
        <p>
            <textarea name="descrition" id="" cols="30" rows="10">这里可以写默认初始值</textarea>
        </p>
    
        <!-- 上传文件 -->
        <p>上传头像
            <input name="img" type="file">
        </p>
        <p>
            <input type="submit">
            <!--如果需要自定义按钮显示,可以加value属性<input type="submit" value="提交XXX"> -->
        </p>
    </form>
    
    

    返回顶部

    pycharm小技巧:如果需要用一个标签把一段代码包围,可以依次点击code -> surround with
    然后选emmet,在弹出来的框中输入标签名后回车

    form表单提交数据的几个注意事项:
    1.所有获取用户输入的标签都必须放在form表单里
    2.action控制着往哪里提交
    3.提交的数据为键值对,到后端才能区分,因此所有标签都有name属性表示键
    4.必须有提交按钮
    5.form默认为:method="get" enctype="application/x-www-form-urlencoded"。如果有上传文件,form的method="POST" enctype="multipart/form-data"

    返回顶部

    django后端示例

    新建一个尚未项目:django-demo

    django-admin startproject django-demo
    

    在urls.py中添加代码后,运行项目:python manage.py runserver

    from django.conf.urls import url
    from django.contrib import admin
    
    from django.shortcuts import HttpResponse
    def upload_data(request):
        print("request data:", request.POST)
        if request.FILES:
            filename = request.FILES["img"].name
            with open(filename,'wb') as f:
                for chunk in request.FILES["img"].chunks():
                    f.write(chunk)
                return HttpResponse("image uploaded!")
    
        return HttpResponse("data subbmited")
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^', upload_data),
    ]
    

    返回顶部
    为方便演示,注释掉 settings.py 中的 django.middleware.csrf.CsrfViewMiddleware
    以避免csrf错误出现

    
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        #'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    

    返回顶部

    点击网页的提交后,后端控制器中打印提交内容:

    {'username': ['telecomadmin'],
    'password': ['fasfafd'],
    'gender': ['1'],
    'hobby': ['basketball', 'football'],
    'birthday': ['2018-10-20'],
    'province': ['beijing'],
    'city': ['cp'],
    'descrition': ['这里可以写默认初始值']}>
    

    同时项目目录中出现上传的文件

    返回顶部

  • 相关阅读:
    为linux命令添加别名
    ubuntu安装mongodb
    mysql保存中文乱码问题
    公倍数
    复制网站内容
    孪生素数
    迷宫问题
    递归连续数
    排列平方数
    基因牛
  • 原文地址:https://www.cnblogs.com/rootid/p/9823570.html
Copyright © 2020-2023  润新知