精华内容
下载资源
问答
  • 前端form表单上传图片等信息,python后端接收。 最近总需要做关于图片上传的东西。一直百度,这次想自己记录一下。 HTML代码: <form class="box" action="这里写后端接口地址" method="POST" enctype="multipart...

    前端form表单上传图片等信息,python后端接收。

    最近总需要做关于图片上传的东西。一直百度,这次想自己记录一下。

    HTML代码:

    <form class="box" action="这里写后端接口地址" method="POST" enctype="multipart/form-data">
        <div class="formbox">
            <input type="file" name="img" id="file0" class="select2" multiple>
            <p>添加标题:</p>
            <textarea class="uploadtitle" name="title" id="js-file2"></textarea>
            <p>添加内容:</p>
            <textarea class="uploaddetail" name="content" id="js-file1"></textarea>
            <button id="js-submit" style="display: none;" type="submit">提交</button>
            <p id="js-button">提交</p>
        </div>
    </form>
    

    上面input标签的name属性很重要,后端应该是根据这个属性来接收数据。上面隐藏掉提交按钮,用p标签代替是为了判断当用户有信息没填写的时候,不让用户提交。即下面的js代码:

    $('#js-button').on('click', function() {
       if($('.uploadtitle').val() == '' || $('.uploaddetail').val() == '' || $('.box2 img').attr('src') == '') {
            alert('请确认所有信息已填写')
        } else {
            $('#js-submit').click()
        }
    })
    

    前端要做的事就是这么多。下面是python后端接口代码(后端是公司另一个开发写的,代码我也不太懂):

    class Upload(View):
        def post(self, request):
            """
            上传图片
            :param request:
            :return:
            """
            # data = json.loads(request.body)['data']
            # areas = data.get('areas')
            if request.method == "POST":
                img_file = request.FILES.getlist("img")
                for img in img_file:
                    image_path = './media/slideshow/' + img.name
                    destination = open(image_path, 'wb')
                    for chunk in img.chunks():
                        destination.write(chunk)
                    destination.close()
                    data = {
                        "image": image_path,
                        "title": request.POST.get('title', None),
                        "content": request.POST.get('content', None),
                        "display": 1,
                        "add_time": time.strftime("%Y-%m-%d %H:%M:%S")
                    }
                    try:
                        models.SlideshowInfo.objects.create(**data)
                        return HttpResponse("success")
                    except Exception as e:
                        print("上次图片出错:", e)
                        return HttpResponse("error")
    

    提交完成后,会默认在新页面显示接口返回值。若想在当前页面显示,并做其他逻辑判断可以引入js文件<script src="https://cdn.bootcdn.net/ajax/libs/jquery.form/4.2.2/jquery.form.min.js"></script>

    然后在js里写入

    $(".box").ajaxForm(function(data){
        alert("上传成功" + data);
        //Alert("post success.");
    }); //这里.box是form表单的类名
    

    这里就是所有代码了。感觉主要还是后端逻辑,前端就一个表单就好。

    展开全文
  • 参考https://www.cnblogs.com/CK85/p/10159159.html中步骤。 2.在urls.py文件中添加url分发路径 """Django_test URL Configuration The `urlpatterns` list routes URLs to views. For more information ...

    1.创建Django工程。

    参考https://www.cnblogs.com/CK85/p/10159159.html中步骤。

    2.在urls.py文件中添加url分发路径

    """Django_test URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/2.1/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
    """
    from django.contrib import admin
    from django.urls import path
    from app01 import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('login/', views.login, name='login'),
        path('authentication/', views.authentication, name='authentication'),
    ]
    

      路径分发时编辑name可以为路径取一个别名,在html文件中通过别名进行访问,避免过多的命名的改变。

    3.在view.py中添加两个界面的试图函数。

    from django.shortcuts import render, HttpResponse
    import time
    
    # Create your views here.
    
    
    def login(request):
        return render(request, 'login.html', locals())
    
    
    def authentication(request):
        # print(request.method)
        user_name = request.GET.get('user')
        pwd = request.GET.get('pwd')
        user_dic = {
            'ck': '123',
            'ck1': '123',
            'ck2': '123',
        }
        if user_name in user_dic:
            if user_dic[user_name] == pwd:
    
                print('authentication passed')
                user = user_name
                output = render(request, 'well_come.html', {'username': user})
            else:
                print('incorrect username or password')
                output = HttpResponse('<h1>incorrect username or password</h1>')
    
        else:
            print('不在')
            output = HttpResponse('<h1>the user dose not exist</h1>')
    
        return output
    

      login视图函数在用户访问时将login.html发送给用户。

      authentication进行用户登入信息的验证和处理。

      HttpResponse返回一个http响应。

    4.在templates文件夹中创建对应的html文件:

    login.html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <meta charset="UTF-8">
        <title>Title</title>
    
    </head>
    <body>
        <h1>登入</h1>
        <div>
            <form action="{% url "authentication" %}" >
                <p>手机号:<input type="text" name="user"></p>
                <p>密码:<input type="text" name="pwd"></p>
                <p><input type="submit" value="提交"></p>
                {% csrf_token %}
            </form>
        </div>
    </body>
    </html>
    

      login界面是用户在登入时看到的界面,需要用户在该页面中输入账号和密码。

      其中使用form表单进行读取数据,action=“/authentication/”与action=“{% url "authentiction" %}”相同,前者使用路径访问,后者使用别名访问。

      在form表单中input标签type=’text‘ 和type=’submit‘组合使用,使得在用户点击提交按钮时使用form表单method中传入的方法将两个text中的值与text的name组成键值对传给在form表单action路径的文件。

    well_come.html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <h1>你好!  {{ username }}</h1>
    </body>
    </html>

      well_come界面为用户成功登入之后的欢迎界面。

      

    转载于:https://www.cnblogs.com/CK85/p/10162369.html

    展开全文
  • 很多初学python的朋友在没使用框架之前使用socket套接字处理http请求时使用中文都会出现乱码的问题ex: html表单部分内容如下 &lt;form action="" methon='post'&gt; 用户名&lt;input type=...

    很多初学python的朋友在没使用框架之前使用socket套接字处理http请求时使用中文都会出现乱码的问题
    ex:

        html表单部分内容如下
        <form action="" methon='post'>
                用户名<input type='text' name='uname'>
                <input type='submit' value='提交'>

        </form>           

    使用submit提交post 表单后,如果是英文或数字没有任何问题,但是如果是中文,就会变成带%的乱码串
    请求体中会产生uname=%..........的字样
    查了很多方法,设置html的encoding ,设置form的编码格式等都无法解决
    后来经过查询后,发现form表单的中文会先根据url格式进行一次编码

    当我们遇到这种问题时,当然只是针对小白,使用框架可以略过此问题。
    可以后端使用python2 或python3种的urllib模块对百分比字符进行一次解码

    具体方法如下:

    python2:
    import urllib
    string = '%.......'
    string = urllib.unquote(string)
    即可得到原来的中文字符

    python3:
    import urllib
    string = '%......'
    string = urllib.request.unquote(string)
    python3种由于将两个urllib库进行了整合,所以有了一些修改。


    使用django框架等可以避免这些问题,只是针对于小白,大神们勿喷,谢谢



    展开全文
  • form表单标签 表单用于向服务器传输数据。...HTML 表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签, 要提交的所有内容都应该在该标签中. 1、action...
    • form表单标签
      表单用于向服务器传输数据。
      表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。
      表单还可以包含textarea、select、fieldset和 label 元素。

    • 表单属性
      HTML 表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签, 要提交的所有内容都应该在该标签中.
      1、action: 表单提交到哪. 一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web
      2、method: 表单的提交方式 post/get, 默认取值就是get。

         get: 1.提交的键值对.放在地址栏中url后面. 2.安全性相对较差. 3.对提交内容的长度有限制.
         post:1.提交的键值对 不在地址栏. 2.安全性相对较高. 3.对提交内容的长度理论上无限制.
         get/post是常见的两种请求方式.
      
    • 表单元素
      <input> 标签的属性和对应值。

    type:        text 文本输入框
    
                 password 密码输入框
    
                 radio 单选框
    
                 checkbox 多选框  
    
                 submit 提交按钮            
    
                 button 按钮(需要配合js使用.) button和submit的区别?
    
                 file 提交文件:form表单需要加上属性enctype="multipart/form-data"   
    
    name:    表单提交项的键,表单提交是以键值对的形式提交的。注意和id属性的区别:name属性是和服务器通信时使用的名称;而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和javascript中使用的。
    value:   表单提交项的值.对于不同的输入类型,value 属性的用法也不同。在text和password类型中表示默认值。
    
    checked:  用于radio 和 checkbox 类型,表示默认被选中。
    
    readonly: 只读. 用于text 和 password 类型。
    
    disabled: 对所有的类型都有用.表示禁用。
    
    

    例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="http://127.0.0.1:8080">
        <h1>注册页面</h1>
        <p>用户名:<input type="text" name="username"></p>
        <p>密码:<input type="password" name="password"></p>
        <p>爱好 <input type="checkbox" name="hobby" value="sing">唱歌 <input type="checkbox" name="hobby" value="dance">跳舞</p>
        <p>性别 <input type="radio" name="1" value="man">男 <input type="radio" name="1" value="waman">女</p>
    
        <input type="submit" value="提交注册">
    </form>
    </body>
    </html>
    

    在这里插入图片描述
    <select> 下拉选标签属性

    name:表单提交项的键.
    
    size:选项个数
    
    multiple:multiple  多选
    
    <option>在select的标签体中使用,表示下拉选中的每一项。他的属有value:表单提交项的值.   selected: selected下拉选默认被选中
    
    展开全文
  • HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。 HTTP 请求 HTTP协议以"请求-回复"的方式工作。客户发送请求时,可以在请求中附加数据。服务器通过解析请求,就可以获得...
  • Python: 3.6.10 Flask: 1.1.2 目录结构 index.py templates index.html test.png 前端代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; ...
  • 前言 ...从html把数据提交到服务端,服务端接收数据后判断提交的数据,然后做出对应的响应,这么一整个流程...标签实现,一个完整的表单包含四个部分:提交地址、请求方式、元素控件、提交按钮,简单的html表单如下 ...
  • 触发函数接收的 Form 数据可以以字典对象的形式收集它并将其转发到模板以在相应的网页上呈现它。 在以下示例中,’/’ URL 会呈现具有表单的网页(student.html)。填入的数据会发布到触发 result() 函数的 ‘/...
  • 触发函数接收的Form数据可以以字典对象的形式收集它并将其转发到模板以在相应的网页上呈现它。 在以下示例中,'/' URL会呈现具有表单的网页(student.html)。填入的数据会发布到触发result()函数的'/result' URL。...
  • HTML表单是网站交互的经典方式。 这篇文章将学习如何用Django对用户提交的表单数据进行处理。 1. HTTP请求 HTTP协议以”请求-回复”的方式工作。客户发送请求时,可以在请求中附加数据。服务器通过解析请求,就...
  • Marmir:把输入的 Python 数据结构转换为电子表单。 openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。 pyexcel:一个提供统一 API,用来读写,操作 Excel 文件的库。 python-docx:读取,查询...
  • python3 post 文件 消息

    千次阅读 2019-03-08 15:32:55
    python urllib3: ... requests方式: 原文:https://www.cnblogs.com/slqt/p/10238019.html 如果参数是data,那么还需要 ...服务器接收文件时,有时会使用表单接收的方式,这意味着我们需要使用Python的requests...
  • Python编程入门经典

    热门讨论 2013-10-27 14:17:39
    20.3.3 通过HTML表单接收用户 输入 399 20.4 HTML表单的有限词汇 400 20.5 访问表单值的安全性 401 20.6 构建wiki 405 20.6.1 BittyWiki核心库 406 20.6.2 BittyWiki的Web接口 409 20.7 Web服务 418 20.8 REST Web ...
  • 服务器代码(用python编写)接收这个请求,并有机会发送一个答案。答案是通常用HTML写成的文档。本文档的某些部分可以是动态的,即由python代码生成的。文档的其他部分可以是静态的。然后浏览器在用户窗口上呈现文档。...
  • python模拟twitter登陆

    2015-03-17 07:32:44
    self.posturl = 'https://twitter.com/sessions' #post数据接收和处理的页面(我们要向这个页面发送我们构造的Post数据) def login(self): #跳转到登陆界面,此时可获得cookie req=urllib2.Request(self....
  • 1)djang是基于python语言的web开发框架 2)django框架有两大特点 第一点:重量级框架 相对flash来说比较重,它集成了很多功能,比如admin管理站点,表单,数据库orm支持 第二点:MVT模式 遵循MVT的开发模式,能够...
  • ...在该协议中定义了从指定URL检索数据的不同方法。 ... 序号 方法与描述 ... 以未加密的形式将数据发送到服务器。... 用于将HTML表单数据发送到服务器。POST方法接收的数据不由服务器缓存。 4 PUT
  • 在该协议中定义了从指定URL检索数据的不同...POST : 用于将HTML表单数据发送到服务器。POST方法接收的数据不由服务器缓存。 4 PUT :用上传的内容替换目标资源的所有当前表示。 5 DELETE :删除由URL给出的目标资源的
  • python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和...
  • data = form.data # 接收表单数据 # 判断用户名和密码是否匹配 user = User.query.filter_by(email=data["email"]).first() # 获取用户信息 if not user: flash("邮箱不存在!", "err") # 输出错误信息 ...
  • 文章目录前言一、前端往后端提交数据1.1 HTML原生表单1.2 jquery的.post1.3 jquery的.ajax1.4 3种方法的区别二、后端往前端返回数据与前端展示数据2.1 后端往前端返回数据2.2 前端接收后端数据并展示 前言 提示:...
  • Socket通信案例消息发送与接收 第8周 上节回顾 Socket实现简单的ssh客户端 Socket实现简单的ssh服务端 积极思考正能量 Socket实现简单的ssh2 Socket粘包 Socket粘包深入编码 SocketServer SocketServer多并发 多...
  • html中的代码参考如下: vue代码参考如下: 在前端将密码修改成功后,后端返回的是200的状态码,但是,请求...我是用了form表单,点击按钮提交后,表单会刷新,把form去除就可以接收后台返回的结果了 修改后的...
  • Django 表单HTML表单是网站交互性的经典方式。本章将介绍如何用Django对用户提交的表单数据进行处理。HTTP 请求HTTP协议以"请求-回复"的方式工作。客户发送请求时,可以在请求中附加数据。服务器通过解析...
  • 如果需要在用户提交表单接收系统通知,则设置 NOTIFY_FORM_CHANGE = True ,同时设置发送Email的其他参数。第三步:创建数据表cd至你项目的根目录python manage.py syncdb第四步: 完成,开始使用吧。 ...
  • Django用Form类描述html表单,帮助或简化操作 1、接收和处理用户提交的数据 可检查提交的数据 可将数据转换成Python的数据类型 2、可自动生成html代码 打开具体博客页面,有登录框,那如果我们在其他地方需要...
  • Django图片上传到后台:使用ImageField

    千次阅读 2019-09-04 17:16:13
    环境:Django2.1.1+...这个东西负责前端用户选择本地文件,交给浏览器,当表单提交时,由后台接收表单具体介绍见:) <form enctype="multipart/form-data" action="../submit/" method="post"> ...
  • Django---form 详解

    2017-10-26 20:43:00
    接收并处理客户端提交的表单和数据 普通字段详解: class BooleanField(**kwargs): 默认的Widget:CheckboxInput 空值:False 规范化为:Python 的True 或 False。 如果字段带有requ...
  • 这些表单操作比较繁琐,因此Django设计了一个Form类来描述html表单,帮助或简化操作,form类主要有2个作用: (1)可自动生成html代码,即input标签字段 (2)接收和处理用户提交的数据,可检查提交的数据,可将...

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

python接收html表单

python 订阅