这一节我们将django的后端微信接入部分
涉及到的知识点有 跨域 服务器请求缓存 路由配置
首先要创建一个django项目 命令行输入
django-admin.py
django-admin.py startproject 你的项目名称
项目创建成功会出现红框中的文件夹
settings.py 这是django的配置文件
unit.py 这是全局处理的方法
urls.py 这是路由配置文件
项目基础框架创建完成后我们开始创建app项目
创建一个app需要在settings.py里配置app名称
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"wxTokken", #这里就是我们创建的app名称
]
python manage.py startapp app名称
我这里创建的是wxTokken
这里需要新建一个urls.py文件来写路由
views.py 这个文件来写我们的接口
其他文件暂时没用
app创建成功我们就配置跨域处理
控制台输入
pip install django-cors-headers
然后在settings.py里配置
INSTALLED_APPS =(
...
' corsheaders ',
... )
MIDDLEWARE = [
... # 跨域请求中间件
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
在settings文件最后面添加如下所有代码
# 跨域允许的请求方式,可以使用默认值,默认的请求方式为:
# from corsheaders.defaults import default_methods
CORS_ALLOW_METHODS = (
'GET',
'POST',
'PUT',
'PATCH',
'DELETE',
'OPTIONS'
)
# 允许跨域的请求头,可以使用默认值,默认的请求头为:
# from corsheaders.defaults import default_headers
# CORS_ALLOW_HEADERS = default_headers
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
)
# 跨域请求时,是否运行携带cookie,默认为False
CORS_ALLOW_CREDENTIALS = True
# 允许所有主机执行跨站点请求,默认为False
# 如果没设置该参数,则必须设置白名单,运行部分白名单的主机才能执行跨站点请求
CORS_ORIGIN_ALLOW_ALL = True
配置完成后我们看我们新建的app文件
打开views.py文件
先引入需要的模块
from django.shortcuts import render
import json,random,string,datetime,time,calendar,urllib,hashlib
from django.http import HttpResponse
from django.core.serializers import serialize
from django.views.decorators.csrf import csrf_exempt
from wxhoutai.unit import butesTotoJson
from django.core.cache import cache
from django.views.decorators.cache import cache_page
首先我们要获取微信的token,需要打开网站
appid = "自己的appid"
secret = "自己的secret"
#获取微信token
@cache_page(7000)
def wxToken(request):
tokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+secret+""
token = urllib.request.urlopen(tokenUrl).read() #使用urllib模块打开网站
token = json.loads(token.decode('utf-8')
)
#将返回的数据格式成json格式
return HttpResponse(json.dumps(token)) #返回数据
方法写完我们就需要配置路由
打开当前文件夹里的urls.py
from django.urls import path,include
from . import views
#获取当前文件夹下views文件里的所有方法
urlpatterns = [
path('wxToken/',views.wxToken),#这里就能点出我们写的那个方法
]
这里的路由配置完成 还需要在我们在有settings.py的那个文件夹下打开urls.py在配置一个路由
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('wxtoken/',include('wxTokken.urls')) #添加路由 就是我们创建那个app文件下的urls文件
]
命令行输入
manage.py runserver #启动项目
路由配置完成我们前端ajax就能请求 127.0.0.1:8000/wxtoken/wxToken/这个接口了
下节我们讲调用微信jssdk等方法
前端git地址 https://gitee.com/hpr/weixingjieruQ.git
后端git地址 https://gitee.com/hpr/weixinjieruH.git
记得给我点个赞哦
关注公众号回复 微信接入 获取全部教程哦