您的位置:首页 > 编程语言 > Go语言

随便玩玩Django--输入网址生成二维码

2018-01-09 16:09 609 查看
在自强学堂上学习了下django,自己花了点时间写个输入网址生成二维码的网页。大概思路:在前端网页输入要转化成二维码的网址,网页提交表单通过urls.py找到views.py相应的方法,生成二维码图片。
动手玩玩。

创建项目

django-admin.py startproject lsk_tool

在新建的项目里新建一个app

python manage.py startapp tools

在app中新建templates文件夹,把写好的网页文件夹中,index.html代码如下:

<!DOCTYPE html>
<head>
<title>生成二维码</title>
</head>
<body>
<form method='post' action='/sub/'>
<p>网址:<input type='text' name='website' value='http://'></p>
<button type="submit">提交</button>
{% csrf_token %}
</form>
</body>

修改app中的视图文件views.py,修改代码如下:

from django.utils.six import BytesIO
import qrcode
from __future__ import unicode_literals
from django.http import HttpResponse
from django.shortcuts import render
def home(request):
return render(request,'index.html')

def generate_Image(request):
website = request.POST.get('website')
if(len(website) != 0):
img = qrcode.make(str(website))
buf = BytesIO()
img.save(buf)
image_stream = buf.getvalue()
response = HttpResponse(image_stream,content_type="image/png")
return response
return HttpResponse(u"网址不能为空!")

修改好视图文件后,修改项目的配置文件,修改settings.py文件,主要修改这两项。设置所有域名都可以访问

ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tools',
]

修改urls.py文件:

from django.conf.urls import url
from django.contrib import admin
from tools import views as t_views

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

大功告成!启动项目:

python manage.py runserver 你的域名或者IP:开放的端口

效果图:





有什么问题,希望大家纠正!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python django 二维码