使用django+html接入微信公众号实现登陆分享(2)

这一节我们将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

 记得给我点个赞哦

关注公众号回复 微信接入 获取全部教程哦

你可能感兴趣的:(使用django+html接入微信公众号实现登陆分享(2))