Skip to main content

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-04-29
* Fix Bug
* 问题: 第一次授权的时候就去哪用户信息导致奔溃
* 解决: 设置一个是否存储用户信息的变量save_userinfo_or_not, 默认为False, 只有满足需要获取userinfo的条件时才设为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

Project details


Download files

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

Source Distribution

django-wechat-web-0.0.11.tar.gz (7.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page