Python學習筆記:7.5.6 Django快速建站 - Web開發實戰 微信公衆號開發1

前言:本文是學習網易微專業的《python全棧工程師 - Django快速建站》課程的筆記,歡迎學習交流。同時感謝老師們的精彩傳授!

一、課程目標

  • 瞭解微信公衆號開發流程
  • 實現內網穿透
  • 完成微信公衆號開發驗證

二、詳情解讀

2.1.微信公衆號開發
2.1.1.微信公衆號
  • 訂閱號:爲媒體和個人提供的一種信息傳播方式,主要偏於爲用戶傳達資訊(類似報紙雜誌),主要的定位是閱讀,每天可以羣發1條消息。
  • 服務號:爲企業,政府或組織提供對用戶進行服務,主要偏於服務交互。
  • 企業號:爲企業、政府、事業單位,實現生產管理和協作運營的移動化,主要用於公司內部通訊使用,旨在爲用戶提供移動辦公,需要先有成員的通訊信息驗證纔可以關注成功企業微信。
2.1.2.微信公衆號後臺管理
  • 沒有針對公衆號做開發
    在這裏插入圖片描述
  • 針對公衆號進行開發
2.1.3.業務流程

在這裏插入圖片描述

2.2.開發者環境
2.2.1.內網穿透
  • 內網穿透,網絡地址轉換(Network Address Translation,NAT):通過映射端口,能讓外網的計算機找到處於內網的計算機。
  • 將本地計算機設置成爲開發者服務器:有公網可以訪問的域名,公網域名與本地IP對應(如:127.0.0.1:8080
  • 打開:https://natapp.cn
    – 用戶註冊
    – 實名認證
    – 下載客戶端
    在這裏插入圖片描述
  • windows
    在這裏插入圖片描述
    小編用windows,自己下載只有一個natapp.exe文件,後面在官網上下載了config.ini這個文件
  • Linux/Mac OS
    natapp

登錄https://natapp.cn進入後臺,如下圖:

Step0: 創建免費隧道
在這裏插入圖片描述
step1:免費購買隧道:
在這裏插入圖片描述
Step2 配置隧道
在這裏插入圖片描述
在這裏插入圖片描述
這裏要注意:由於是免費隧道,域名/端口會隨機且不定時強制更換。所以,每次啓動的時候,要檢查一下是否有更換,有則跟着更換。
在這裏插入圖片描述

  • 在本地執行
    Linux/Mac OS
# 獲得權限
% chmode a+x natapp  # 這個在軟件natapp同一個目錄下執行的命令
% ./natapp # 顯示認證錯誤
% ./natapp -authtoken your-token 

如果有顯示下面的結果,則表示本地執行成功:
在這裏插入圖片描述

  • windows
    在這裏插入圖片描述
2.2.2.創建項目
  • 創建虛擬目錄
python3 -m venv official
cd official
source ./bin/activate
  • 安裝Django
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/django==2.2.10
  • 創建項目
django-admin startproject wechat

settings.py中配置公網域名

ALLOWED_HOSTS = ['meq566.natappfree.cc', ]
  • 測試
    – 啓動服務:wechat% python manage.py runserver 127.0.0.1:8080
    – 用公網域名訪問:http://meq5b6.natappfree.cc
2.3.配置服務器和驗證
2.3.1.申請開發測試賬號
2.3.2.閱讀官方文檔
2.3.3.創建應用
  • 接收來自微信服務器的信息
python manage.py startapp auth
# 安裝第三方包
pip install wechatpy

Step1 配置路由

wechat/urls.py代碼如下:

from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('^auth/?', include('auth.urls', namespace='auth')),
]

wechat/auth/urls.py代碼如下:

from django.urls import path
from . import views

urlpatterns = [
	path('', views.auth, name='auth'),
]

Step2: 編寫wechat/auth/views.py中的auth視圖函數

from django.shortcuts import render
from django.http import HttpResponse
from wechatpy.utils import check_signature
from wechatpy.exceptions import InvalidSignatureException

# Create your views here.
def auth(request):
    sign = request.GET.get('signature')
    echostr = request.GET.get('echostr')
    timestamp = request.GET.get('timestamp')
    nonce = request.GET.get('nonce')
    token = '免費隧道里的authtoken'
    try:
        check_signature(token, sign, timestamp, nonce)
    except InvalidSignatureException:
        raise
    return HttpResponse(echostr)

上述準備做好後,可以點擊測試公衆號裏的提交,結果如下圖:
在這裏插入圖片描述

三、課程小結

  • 01、瞭解微信公衆號
  • 02、內網穿透
  • 03、完成開發都驗證
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章