前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >特别编辑--windows+python+django实现前端页面上传到指定路径生成个性化二维码

特别编辑--windows+python+django实现前端页面上传到指定路径生成个性化二维码

作者头像
测试小兵
发布2019-11-19 22:21:40
5700
发布2019-11-19 22:21:40
举报
文章被收录于专栏:猪圈子猪圈子

python-前端页面上传文件到指定路径

小贴士

本文是在windows通过python语言,实现前端页面上传文件到我们本地的指定路径,如在liunux环境进行实现,则参考本公众号上一篇文章在linux首先搭建python以及django环境

- 首先我们得具备Django环境+python

-在django目录下创建我们的项目project01

-在项目下创建我们的应用app01

-工程、项目创建完成之后,接着我们在应用目录下创建file目录放置我们的前端页面文件index.html

代码语言:javascript
复制
<!DOCTYPE html>
<head>
    <title>生成二维码</title>
</head>
<body>
<form method='post' action='/sub/' enctype="multipart/form-data">
    <p>网址:<input type='text' name='website' value='http://'></p>
    <br>请上传图片:<br>
    <input type="file" name="myfile"><br>
    <button type="submit">提交</button>
    {% csrf_token %}
</form>
</body>

-然后在编辑我们的视图文件views.py文件

注:from_future首行文件必须放在首行

* ./%s指的的当前目录下的转化成字符

代码语言:javascript
复制
from __future__ import unicode_literals
from django.utils.six import BytesIO
from MyQR import myqr
from django.http import HttpResponse
from django.shortcuts import render
import os
import random
def home(request):
        return render(request,'index.html')

def generate_Image(request):
    #获取上传的地址
    website = request.POST.get('website')
    # 请求方法为POST时,进行处理
    if request.method == "POST":
        # 获取上传的文件,如果没有文件,则默认为None
        File = request.FILES.get("myfile", None)
        if File is None:
            return HttpResponse("没有需要上传的文件")
        else:
            # 打开特定的文件进行二进制的写操作
            # print(os.path.exists('/temp_file/'))
            with open("./%s" % File.name, 'wb+') as f:
                # 分块写入文件
                for chunk in File.chunks():
                    f.write(chunk)
            version, level, qr_name = myqr.run(
                words=website,  # 可以是字符串,也可以是网址(前面要加http(s)://)
                version=1,  # 设置容错率为最高
                level='H',  # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
                picture="./%s" % File.name,  # 将二维码和图片合成
                colorized=True,  # 彩色二维码
                contrast=1.0,  # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
                brightness=1.0,  # 用来调节图片的亮度,其余用法和取值同上
                save_name="./%s" % "s" + File.name,  # 保存文件的名字,格式可以是jpg,png,bmp,gif
                save_dir=os.getcwd()  # 控制位置
            )
            return HttpResponse(File.name)

-编辑我们的urls视图文件

代码语言:javascript
复制
from django.conf.urls import url
from django.contrib import admin
from app import views as t_views

urlpatterns = [
    url(r'^$',t_views.home),
    url(r'^sub/',t_views.generate_Image),
    url(r'^admin/', admin.site.urls),

]

-编辑settings.py将我们的app01app添加进去

进行添加这个'app',

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',
]
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档