Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A simple Django app to conduct Web-based.

Project Description
===
django-wechat-web
===

django-wechat-web is a simple Django app to conduct Wechat-web-based helper. For each
question, visitors can choose between a fixed number of answers.

Detailed documentation is in the 'docs' directory.

Quick start
-----------

1. Add 'django_wechat_web' to to your INSTALLED_APPS setting like this::

INSTALLED_APPS = [
...
'django_wechat_web',
]

2. Add WECHAT to your settings file::

WECHAT = {
'appid': 'YOUR APPID',
'appsecret': 'YOUR APP Secret',
}

3. Run `python manage.py makemigrations django_wechat_web; python manage.py migrate` to create the django_wechat_web models.

4. In your app view where your need get wechat user openid, do like this::

from django_wechat_web import WechatView

class YourViewName(WechatView):
'''
Extends WechatView and over get method
Here WechatView extends django.views.generic.View
'''
scope = 'snsapi_base' # default

...


def get(self, request, *args, **kwargs):
# your code ....

...

5. Now you can do anything the same as `django.views.generic.View`.

6. More:
django_wechat_web:
model:
WechatBase
WechatUserInfo

wechat:
WechatView
# django-wechat-web

### 2016-05-03
* update request encoding utf-8
* how to

```
_req = request.get(URL)
_req.encoding = 'utf-8'
_req.json() # here string is utf-8 encoding
```

### 2016-05-01
* reconstruct WechatView

```
//
1. openid ---session存在--> 3
---session不存在--> 2

2. 跳转 令STATE=SCOPE.replace('_', '')

3. 获取STATE, 如果STATE=snsapibase, 则获取openid;
如果STATE=snsapiuserinfo, 则获取openid和userinfo

4. 结束
```

### 2016-04-30
* version 0.0.15
* fix wechat.py need field: openid
* version 0.0.14
* WechatUserInfo Model add objects field, add new Manager method: empty_json

### 2016-04-29
* Fix Bug:
* save_userinfo_or_not 应该保存在session中,并且使用userinfo完要将其置为False,防止重复获取userinfo
* Fix Bug:
* 问题: 第一次授权的时候就去哪用户信息导致奔溃
* 解决: 设置一个是否存储用户信息的变量save_userinfo_or_not, 默认为False, 只有满足需要获取userinfo的条件时才设为True; 然后save_userinfo_or_not为True, 才获取用户信息
* Fix Bug
* error function args
* update WechatView
* scope设置为snsapi_userinfo 时,说明希望保留用户详细信息
* 但是, 又不希望用户多次snsapi_userinfo方式授权, 所以过程是这样的

```
-> 1.默认snsapi_base方式跳转
-> 2.拿到code, 获取openid, 将openid存到session
-> 3.如果openid存在并且openid对应的WechatUserInfo模型数据不存在并且scope为snsapi_userinfo, 则将再次跳转到snsapi_userinfo方式; 如果openid不存在, 或者openid存在,但WechatUserInfo数据存在, 或者 openid存在,但是scope不是snsapi_userinfo, 则跳转第五步
-> 4.跳回步骤2
-> 5. 授权结束, 接下来执行你的动作
```

### 2016-04-27
* update WechatView
* add class boolean attr: swicth
* `swicth=True` (default): open wechat redirect/authentication
* `swicth=False` : The same as django.views.generic.View
Release History

Release History

This version
History Node

1.0.9

History Node

1.0.8

History Node

1.0.7

History Node

1.0.6

History Node

1.0.5

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

History Node

0.0.15

History Node

0.0.14

History Node

0.0.13

History Node

0.0.12

History Node

0.0.11

History Node

0.0.10

History Node

0.0.9

History Node

0.0.8

History Node

0.0.7

History Node

0.0.6

History Node

0.0.5

History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-wechat-web-1.0.9.tar.gz (10.8 kB) Copy SHA256 Checksum SHA256 Source May 3, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting