1、版本说明 :python 2.7.10, Django (1.6.11.6),centos7
2、步骤说明:
A、django 建立项目
django-admin.py startproject projtest
之后启动服务器,看看是否正确:
cd projtest
配置 projtest子目录下面的setting.py文件,允许外部机器访问
[root@VM_4_128_centos projtest]# vim projtest/settings.py
把其中ALLOWED_HOSTS改成如下
ALLOWED_HOSTS = ['*']
然后启动,外部机器 看看能否访问到:
# python manage.py runserver 0.0.0.0:80
B、创建应 用wechat
[root@VM_4_128_centos projtest]# python manage.py startapp wechat [root@VM_4_128_centos projtest]# ls manage.py projtest wetchat
C、安装wechat_sdk
[root@VM_4_128_centos projtest]# pip install wechat-sdk Requirement already satisfied: wechat-sdk in /usr/lib/python2.7/site-packages Requirement already satisfied: six==1.10.0 in /usr/lib/python2.7/site-packages (from wechat-sdk) Requirement already satisfied: requests==2.6.0 in /usr/lib/python2.7/site-packages (from wechat-sdk) Requirement already satisfied: pycrypto==2.6.1 in /usr/lib64/python2.7/site-packages (from wechat-sdk) Requirement already satisfied: xmltodict==0.9.2 in /usr/lib/python2.7/site-packages (from wechat-sdk)
D、修改projtest/projtest/setting.py文件,加入应用
目录结构如下:
|-- manage.py |-- projtest | |-- __init__.py | |-- __init__.pyc | |-- settings.py | |-- settings.pyc | |-- urls.py | |-- urls.pyc | |-- wsgi.py | `-- wsgi.pyc `-- wetchat |-- __init__.py |-- admin.py |-- models.py |-- tests.py `-- views.py
vim projtest/settings.py
`-- wetchatINSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'wechat', )
注:应用名称后面要有逗号
E、在wechat目录下,重写views.py文件,代码如下(参考网上例子):
#!/usr/bin/python # -*- coding: utf-8 -*- # Create your views here. from django.shortcuts import render from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from django.views.generic.base import View from django.template import loader, Context from wechat_sdk import WechatBasic token = 'zwbswx' class WeChat(View): #这里我当时写成了防止跨站请求伪造,其实不是这样的,恰恰相反。因为django默认是开启了csrf防护中间件的 #所以这里使用@csrf_exempt是单独为这个函数去掉这个防护功能。 @csrf_exempt def dispatch(self, *args, **kwargs): return super(WeChat, self).dispatch(*args, **kwargs) def get(self, request): wechat = WechatBasic(token=token) if wechat.check_signature(signature=request.GET['signature'], timestamp=request.GET['timestamp'], nonce=request.GET['nonce']): if request.method == 'GET': rsp = request.GET.get('echostr', 'error') else: wechat.parse_data(request.body) message = wechat.get_message() rsp = wechat.response_text(u'消息类型: {}'.format(message.type)) else: rsp = wechat.response_text('check error') return HttpResponse(rsp)
F、修改projtest/projtest/urls.py ,添加映射到微信应用(类似servlet)
[root@VM_4_128_centos projtest]# vim projtest/urls.py
from django.conf.urls import patterns, include, url from django.contrib import admin from wechat import views as wt_views ##增加本行 admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'projtest.views.home', name='home'), # url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^wechat', wt_views.WeChat.as_view()), ##增加本行 )
)
G、微信提交配置通过
05/Jun/2017 03:31:01] "GET /wechat" 301 0 [05/Jun/2017 03:31:01] "GET /wechat/" 200 20
以上这篇利用django+wechat-python-sdk 创建微信服务器接入的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 罗大佑-无法盗版的青春套装版10CD【WAV】
- 张学友《意乱情迷》蜚声环球 2024 [WAV+CUE][1G]
- 柏菲《好歌30年特别版2CD》最好听的影视歌曲[低速原抓WAV+CUE][1G]
- 张学友《世纪10星·永恒篇》香港版[WAV+CUE][1G]
- 模拟之声慢刻CD《刘德海.琵琶独奏精逊【低速原抓WAV+CUE】
- Jamettone-18052023—improv(EDit)(2024)【FLAC】
- 【索尼精芽20首最棒的苏格兰歌曲集【FLAC】
- 池约翰C.J《少年白马醉春风2 动画原声带》[320K/MP3][26.67MB]
- 池约翰C.J《少年白马醉春风2 动画原声带》[FLAC/分轨][144.13MB]
- 陈致逸《幻想乐园 Fantasyland》[320K/MP3][120.54MB]
- 席卷全球最红舞曲《火辣辣DJ[英文版]》[DTS-WAV]
- 群星-席卷全球最红舞曲《火辣辣DJ中文版》【WAV】
- 模拟之声慢刻CD《声入人心[年度发烧人声严选]》[低速原抓WAV+CUE]
- 陈致逸《幻想乐园 Fantasyland》[FLAC/分轨][554.27MB]
- Rhymist / LusciousBB《年轮》[320K/MP3][76.52MB]