无状态的web应用(单个py文件的Django占位图片服务器)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃
django-admin.py startproject placeholder --template=template
urlpatterns=[
url(u'^$',index, name='homepage'),
url(u'^image/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$', placeholder, name='placeholder'),
]
DEBUG = os.environ.get('DEBUG','on')=='on'
SECRET_KEY = os.environ.get('SECRET_KEY', '&8x8ono))lhdi_6fg!h_9uv3l97w$m$(m6lg&0tttyb2e_lnlv')
ALLOWED_HOSTS=['*']
BASE_DIR = os.path.dirname(__file__)
settings.configure(
DEBUG=DEBUG,
SECRET_KEY=SECRET_KEY,
ROOT_URLCONF=__name__,
ALLOWED_HOSTS=ALLOWED_HOSTS,
MIDDLEWARE=[
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
],
INSTALLED_APPS=[
'django.contrib.staticfiles',
],
TEMPLATES=[
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
# 'APP_DIRS': True,
}
],
STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static'),
],
STATIC_URL = '/static/'
)
class ImageForm(forms.Form):
height = forms.IntegerField(min_value=1,max_value=2000)
width = forms.IntegerField(min_value=1,max_value=2000)
def generate(self, image_formate='PNG'):
height = self.cleaned_data['height']
width = self.cleaned_data['width']
key = '{}.{}.{}'.format(width, height, image_formate)
content = cache.get(key) ##增加服务器缓存
if content is None:
image = Image.new('RGB', (width, height))
draw = ImageDraw.Draw(image)
text = '{}x{}'.format(width, height)
textwidth,textheight = draw.textsize(text)
if textwidth < width and textheight < height:
texttop = (height - textheight) // 2
textleft = (width - textwidth) // 2
draw.text((textleft,texttop), text, fill=(255,255,255))
content = BytesIO()
image.save(content, image_formate)
content.seek(0)
cache.set(key, content, 60*60)
return content
这个ImageForm类是一个表单类,用于接收URL传递过来的图片宽高信息,定义了generate方法,用于生成对应尺寸的占位图片,同时增加了cache缓存的设置,检测到对应尺寸的content先从缓存获取(Django默认使用本地过程、内存缓存)。
def generate_etag(req, width, height):
content = 'Placeholder: {0}x{1}'.format(width, height)
return hashlib.sha1(content.encode('utf-8')).hexdigest()
@etag(generate_etag)
def placeholder(req, width, height):
form = ImageForm({'width':width, 'height':height})
if form.is_valid():
image = form.generate()
return HttpResponse(image, content_type='image/png')
else:
return HttpResponseBadRequest('图片格式错误’)
def index(req):
example = reverse('placeholder', kwargs={'width':50, 'height':50})##通过url标签和参数获取地址
context = {
'example': req.build_absolute_uri(example)##把上面形成的地址传递给页面
}
return render_to_response('home.html', context)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Place Holder</title>
{% load staticfiles %}
<link rel="stylesheet" href="{% static 'site.css' %} " type="text/css">
</head>
<body>
<h1>Django Placeholder Images</h1>
<p>该服务应用的功能是提供图片占位符</p>
<p>请求服务器响应需要提供图片的width和height参数<b>/image/<width>x<height>/</b></p>
<pre> < img src="{{ example }}" ></pre>
<h2>Example</h2>
<ul>
<li><img src="{% url 'placeholder' width=50 height=50 %}"></li>
<li><img src="{% url 'placeholder' width=100 height=50 %}"></li>
<li><img src="{% url 'placeholder' width=50 height=100 %}"></li>
</ul>
</body>
</html>
body{
text-align: center;
}
ul{
list-style: none;font-size:50px
}
li{
display: inline-block;
}
application = get_wsgi_application()
if __name__ == "__main__":
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
python templateHello.py runserver 0.0.0.0:8000
##或者 gunicorn -w 4 -b 0.0.0.0:8000 hello --log-file=-
aaarticlea/png;base64,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AAmQQJ0QoEJVJw1BMUiABEiABEiABBqXABWqxm07Sk4CJEACJEACJFAnBKhQ1UlDUAwSIAESIAESIIHGJUCFqnHbjpKTAAmQAAmQAAnUCQEqVHXSEBSDBEiABEiABEigcQlQoWrctqPkJEACJEACJEACdUKAClWdNATFIAESIAESIAESaFwCVKgat+0oOQmQAAmQAAmQQJ0QoEJVJw1BMUiABEiABEiABBqXABWqxm07Sk4CJEACJEACJFAnBKhQ1UlDUAwSIAESIAESIIHGJUCFqnHbjpKTAAmQAAmQAAnUCQEqVHXSEBSDBEiABEiABEigcQlQoWrctqPkJEACJEACJEACdUKAClWdNATFIAESIAESIAESaFwCVKgat+0oOQmQAAmQAAmQQJ0QoEJVJw1BMUiABEiABEiABBqXABWqxm07Sk4CJEACJEACJFAnBA7ViRwUgwRIgARIIIRAS0tLSGjjBVmW1XhCU2ISqIIAZ6iqgMWoJEACJEACJEACJBBGgApVGBWGkQAJkAAJkAAJkEAVBKhQVQGLUUmABEiABEiABEggjAAVqjAqDCMBEiABEiABEiCBKghQoaoCFqOSAAmQAAmQAAmQQBgBKlRhVBhGAiRAAiRAAiRAAlUQoEJVBSxGJQESIAESIAESIIEwAlSowqgwjARIgARIgARIgASqIECFqgpYjEoCJEACJEACJEACYQSoUIVRYRgJkAAJkAAJkAAJVEGAClUVsBiVBEiABEiABEiABMIIUKEKo8IwEiABEiABEiABEqiCABWqKmAxKgmQAAmQAAmQAAmEEaBCFUaFYSRAAiRAAiRAAiRQBQEqVFXAYlQSIAESIAESIAESCCNAhSqMCsNIgARIgARIgARIoAoCVKiqgMWoJEACJEACJEACJBBGgApVGBWGkQAJkAAJkAAJkEAVBKhQVQGLUUmABEiABEiABEggjAAVqjAqDCMBEiABEiABEiCBKghQoaoCFqOSAAmQAAmQAAmQQBgBKlRhVBhGAiRAAiRAAiRAAlUQoEJVBSxGJQESIAESIAESIIEwAlSowqgwjARIgARIgARIgASqIECFqgpYjEoCJEACJEACJEACYQSoUIVRYRgJkAAJkAAJkAAJVEGAClUVsBiVBEiABEiABEiABMIIUKEKo8IwEiABEiABEiABEqiCABWqKmAxKgmQAAmQ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" alt="" name="en-media:image/png:8a9689f62c10b9970283905b01273218:none:none" width="501" height="286" />
无状态的web应用(单个py文件的Django占位图片服务器)的更多相关文章
- (二)无状态的web应用(单py的Django占位图片服务器)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 阅读本文建议了解Django框架的基本工作流程,了解WSGI应用,如果对以上不是很清楚,建议结 ...
- 无状态的web应用
无意间看到这个话题,随便看了下 觉得有点意思.比较零散,记录一下. 1. http协议无状态. 简单的理解:每一个http请求都是独立的.不会因为前一个请求的失败就影响到下一个请求.既不会影响前面的, ...
- django之 使用py文件操作django项目中的表
要想在一个另外的py文件中操作django,可以使用如下的代码 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE",' ...
- python-windows下将单个py文件生成exe
突然要生成一个exe给其他人用.紧急搜索下了 命令行参数获取用如下方法 from sys import argv base64path = argv[1] argv这个元组就是你的参数列表了,同C一样 ...
- python-windows下如何将单个py文件生成exe文件
这需要pyinstaller,在cmd执行pip install pyinstaller命令 安装完成后,执行 pyinstaller -F 目录 可执行文件于是就在同个目录下的dist目录顺利生成了 ...
- 无状态、REST、RESTful 和 Web Services【整理】
在理解 OpenStack 的过程中,常常遇到 REST 这个概念,现从各处搜罗如下: 对 Web Service 的理解: Web 服务有点像对计算机友好的网页,基于让程序可以跨网络交换信息的标准和 ...
- Shiro学习(20)无状态Web应用集成
在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录.如一些REST风格的API,如果不使用OAuth2协议, ...
- python实例编写(7)---测试报告与测试套件(多个py文件,1个py文件内多个用例)
一. 一个.py文件批量执行测试用例(一个.py文件下多个用例执行) 如果直接使用:unittest.main(),则按字母顺序执行, 对于前后之间又依赖关系的用例,需要按特定的顺序执行,则使用 s ...
- http无状态协议,cookie和session详解(一)
1.HTTP无状态协议 首先看百度百科给出的定义: HTTP无状态协议,是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样导致可能每次连接传送的数据量增大 ...
随机推荐
- 【转】TCP/IP报文格式
1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被封装在以太网帧(见本章1.3节)中传送.而所有 ...
- java泛型使用总结
1. 泛型方法: 2. 泛型类: 3. 通配符. 1.泛型方法 泛型方法在调用时可以接收不同类型的参数.根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用. 下面是定义泛型方法的规则: 所有 ...
- HDU3336 Count the string
居然一A了,说明对朴素的KMP还是有一定理解. 主要就是要知道next数组的作用,然后就可以计算每个i结尾的满足题意的串个数. #include<cstdio> #include<c ...
- zoj3710 friends(floyd变形)
Friends Time Limit: 2 Seconds Memory Limit: 65536 KB Alice lives in the country where people li ...
- Java面向对象 继承(上)
Java面向对象 继承 知识概要: (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...
- mac idea sbt工程打jar包
1.首先保证sbt已下载,否则下载homebrew:在命令行输入/usr/bin/ruby XXX ->下载完成后在终端输入brew install sbt ->安装完毕后可以打jar包 ...
- DOS命令(系统错误5,拒绝访问)的解决方法
在用DOS命令启动MySQL服务时,出现(系统错误5,拒绝访问)的错误提示,这是由于我们操作的权限不足造成的,需要以管理员身份启动,解决问题方法如下: 1."Windows+S"- ...
- css笔记-文本样式
聊聊text-decoration.text-indent.text-transform.letter-spacing.word-spacing.vertical-align.下面是一些常用设置文本样 ...
- UWP应用程序使用Prism框架构建MVVM
在我们创建的UWP解决方案中选择引用->管理NuGet包程序包 NuGet管理包 2. 搜索Prism.Core,并安装 搜索Prism.Core 3. 搜索Prism.Unity,并安装 搜索 ...
- java字串加密
字串加密 1.设计思想: (1)加密方法,字符串的每一个字符都代表这个字符往后的第三位,最后三个字符代表,开始的三个字符. (2)解密方法,字符串的每一个字符都代表这个字符往前的第三位,开始三个字符代 ...