├── LICENSE ├── django_wechat.egg-info ├── dependency_links.txt ├── top_level.txt ├── requires.txt ├── PKG-INFO └── SOURCES.txt ├── django_wechat_api.egg-info ├── dependency_links.txt ├── top_level.txt ├── requires.txt ├── PKG-INFO └── SOURCES.txt ├── django_wechat_base.egg-info ├── dependency_links.txt ├── top_level.txt ├── requires.txt ├── PKG-INFO └── SOURCES.txt ├── docs ├── _build_html │ ├── _sources │ │ ├── intro.txt │ │ ├── start.txt │ │ └── index.txt │ ├── objects.inv │ ├── _static │ │ ├── up.png │ │ ├── down.png │ │ ├── file.png │ │ ├── plus.png │ │ ├── comment.png │ │ ├── minus.png │ │ ├── ajax-loader.gif │ │ ├── down-pressed.png │ │ ├── up-pressed.png │ │ ├── comment-bright.png │ │ ├── comment-close.png │ │ ├── fonts │ │ │ ├── Lato-Bold.ttf │ │ │ ├── Lato-Regular.ttf │ │ │ ├── Inconsolata-Bold.ttf │ │ │ ├── RobotoSlab-Bold.ttf │ │ │ ├── RobotoSlab-Regular.ttf │ │ │ ├── Inconsolata-Regular.ttf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── css │ │ │ └── badge_only.css │ │ ├── pygments.css │ │ ├── js │ │ │ └── theme.js │ │ ├── doctools.js │ │ └── underscore.js │ ├── .doctrees │ │ ├── index.doctree │ │ ├── intro.doctree │ │ ├── start.doctree │ │ └── environment.pickle │ ├── .buildinfo │ ├── searchindex.js │ ├── genindex.html │ ├── intro.html │ ├── search.html │ ├── start.html │ └── index.html ├── _build │ ├── html │ │ ├── objects.inv │ │ ├── _static │ │ │ ├── up.png │ │ │ ├── down.png │ │ │ ├── file.png │ │ │ ├── plus.png │ │ │ ├── comment.png │ │ │ ├── minus.png │ │ │ ├── ajax-loader.gif │ │ │ ├── down-pressed.png │ │ │ ├── up-pressed.png │ │ │ ├── comment-bright.png │ │ │ ├── comment-close.png │ │ │ ├── fonts │ │ │ │ ├── Lato-Bold.ttf │ │ │ │ ├── Lato-Regular.ttf │ │ │ │ ├── Inconsolata-Bold.ttf │ │ │ │ ├── RobotoSlab-Bold.ttf │ │ │ │ ├── RobotoSlab-Regular.ttf │ │ │ │ ├── Inconsolata-Regular.ttf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ └── fontawesome-webfont.woff │ │ │ ├── css │ │ │ │ └── badge_only.css │ │ │ ├── pygments.css │ │ │ ├── js │ │ │ │ └── theme.js │ │ │ ├── doctools.js │ │ │ └── underscore.js │ │ ├── .buildinfo │ │ ├── _sources │ │ │ ├── start.txt │ │ │ └── index.txt │ │ ├── searchindex.js │ │ ├── genindex.html │ │ ├── search.html │ │ ├── start.html │ │ └── index.html │ ├── .doctrees │ │ ├── index.doctree │ │ ├── intro.doctree │ │ └── start.doctree │ └── doctrees │ │ ├── index.doctree │ │ ├── start.doctree │ │ └── environment.pickle ├── start.rst ├── index.rst ├── make.bat ├── Makefile └── conf.py ├── wechat ├── __init__.py ├── tests.py ├── locale │ └── zh_Hans │ │ └── LC_MESSAGES │ │ ├── django.mo │ │ └── django.po ├── urls.py ├── apps.py ├── templates │ └── admin │ │ └── wechat │ │ └── menu │ │ └── change_list.html ├── views.py ├── admin.py └── models.py ├── dist ├── django-wechat-0.2.tar.gz ├── django-wechat-0.3.1.tar.gz ├── django-wechat-0.3.tar.gz ├── django-wechat-api-0.3.1.tar.gz ├── django-wechat-api-0.3.2.tar.gz ├── django-wechat-base-0.3.3.tar.gz ├── django-wechat-base-0.4.1.tar.gz ├── django-wechat-base-0.4.2.tar.gz ├── django-wechat-base-0.4.3.tar.gz ├── django-wechat-base-0.4.4.tar.gz ├── django-wechat-base-0.4.5.tar.gz ├── django_wechat-0.3.1-py2-none-any.whl ├── django_wechat_api-0.3.1-py2-none-any.whl ├── django_wechat_api-0.3.2-py2-none-any.whl ├── django_wechat_base-0.3.3-py2-none-any.whl ├── django_wechat_base-0.4.1-py2-none-any.whl ├── django_wechat_base-0.4.2-py2-none-any.whl ├── django_wechat_base-0.4.3-py2-none-any.whl ├── django_wechat_base-0.4.4-py2-none-any.whl └── django_wechat_base-0.4.5-py2-none-any.whl ├── .gitignore ├── MANIFEST.in ├── setup.py └── README.rst /LICENSE: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django_wechat.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /django_wechat.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | wechat 2 | -------------------------------------------------------------------------------- /django_wechat.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | xmltodict>=0.9.2 -------------------------------------------------------------------------------- /django_wechat_api.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /django_wechat_api.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | wechat 2 | -------------------------------------------------------------------------------- /django_wechat_base.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /django_wechat_base.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | wechat 2 | -------------------------------------------------------------------------------- /django_wechat_api.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | xmltodict>=0.9.2 -------------------------------------------------------------------------------- /django_wechat_base.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | xmltodict>=0.9.2 -------------------------------------------------------------------------------- /docs/_build_html/_sources/intro.txt: -------------------------------------------------------------------------------- 1 | Intro 2 | ###### 3 | -------------------------------------------------------------------------------- /wechat/__init__.py: -------------------------------------------------------------------------------- 1 | default_app_config = 'wechat.apps.WechatConfig' 2 | 3 | -------------------------------------------------------------------------------- /wechat/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /docs/_build/html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/objects.inv -------------------------------------------------------------------------------- /docs/_build_html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/objects.inv -------------------------------------------------------------------------------- /dist/django-wechat-0.2.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-0.2.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-0.3.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-0.3.1.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-0.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-0.3.tar.gz -------------------------------------------------------------------------------- /docs/_build/html/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/up.png -------------------------------------------------------------------------------- /docs/_build_html/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/up.png -------------------------------------------------------------------------------- /docs/_build/html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/down.png -------------------------------------------------------------------------------- /docs/_build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/file.png -------------------------------------------------------------------------------- /docs/_build/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/plus.png -------------------------------------------------------------------------------- /docs/_build_html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/down.png -------------------------------------------------------------------------------- /docs/_build_html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/file.png -------------------------------------------------------------------------------- /docs/_build_html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/plus.png -------------------------------------------------------------------------------- /dist/django-wechat-api-0.3.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-api-0.3.1.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-api-0.3.2.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-api-0.3.2.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-base-0.3.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-base-0.3.3.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-base-0.4.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-base-0.4.1.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-base-0.4.2.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-base-0.4.2.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-base-0.4.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-base-0.4.3.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-base-0.4.4.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-base-0.4.4.tar.gz -------------------------------------------------------------------------------- /dist/django-wechat-base-0.4.5.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django-wechat-base-0.4.5.tar.gz -------------------------------------------------------------------------------- /docs/_build/.doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/.doctrees/index.doctree -------------------------------------------------------------------------------- /docs/_build/.doctrees/intro.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/.doctrees/intro.doctree -------------------------------------------------------------------------------- /docs/_build/.doctrees/start.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/.doctrees/start.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/doctrees/index.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/start.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/doctrees/start.doctree -------------------------------------------------------------------------------- /docs/_build/html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/comment.png -------------------------------------------------------------------------------- /docs/_build/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/minus.png -------------------------------------------------------------------------------- /docs/_build_html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/comment.png -------------------------------------------------------------------------------- /docs/_build_html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/minus.png -------------------------------------------------------------------------------- /dist/django_wechat-0.3.1-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat-0.3.1-py2-none-any.whl -------------------------------------------------------------------------------- /docs/_build/doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/doctrees/environment.pickle -------------------------------------------------------------------------------- /docs/_build/html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /docs/_build/html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/down-pressed.png -------------------------------------------------------------------------------- /docs/_build/html/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/up-pressed.png -------------------------------------------------------------------------------- /docs/_build_html/.doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/.doctrees/index.doctree -------------------------------------------------------------------------------- /docs/_build_html/.doctrees/intro.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/.doctrees/intro.doctree -------------------------------------------------------------------------------- /docs/_build_html/.doctrees/start.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/.doctrees/start.doctree -------------------------------------------------------------------------------- /docs/_build_html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /docs/_build_html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/down-pressed.png -------------------------------------------------------------------------------- /docs/_build_html/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/up-pressed.png -------------------------------------------------------------------------------- /docs/_build/html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/comment-bright.png -------------------------------------------------------------------------------- /docs/_build/html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/comment-close.png -------------------------------------------------------------------------------- /docs/_build_html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/comment-bright.png -------------------------------------------------------------------------------- /docs/_build_html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/comment-close.png -------------------------------------------------------------------------------- /wechat/locale/zh_Hans/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/wechat/locale/zh_Hans/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /dist/django_wechat_api-0.3.1-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_api-0.3.1-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_api-0.3.2-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_api-0.3.2-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_base-0.3.3-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_base-0.3.3-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_base-0.4.1-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_base-0.4.1-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_base-0.4.2-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_base-0.4.2-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_base-0.4.3-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_base-0.4.3-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_base-0.4.4-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_base-0.4.4-py2-none-any.whl -------------------------------------------------------------------------------- /dist/django_wechat_base-0.4.5-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/dist/django_wechat_base-0.4.5-py2-none-any.whl -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/Lato-Bold.ttf -------------------------------------------------------------------------------- /docs/_build_html/.doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/.doctrees/environment.pickle -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/Lato-Bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/Lato-Regular.ttf -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/Lato-Regular.ttf -------------------------------------------------------------------------------- /wechat/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import url 2 | from . import views 3 | 4 | urlpatterns = [ 5 | url(r'^$', views.index, name='index'), 6 | ] 7 | -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Inconsolata-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/Inconsolata-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/Inconsolata-Bold.ttf -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/RobotoSlab-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/RobotoSlab-Bold.ttf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # python files 2 | *.pyc 3 | 4 | # django migrations files 5 | **/migrations 6 | 7 | # scss cache files 8 | *.css.map 9 | **/.sass-cache 10 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE 2 | include README.rst 3 | recursive-include wechat/locale * 4 | recursive-include wechat/templates * 5 | recursive-include docs * 6 | -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/RobotoSlab-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/RobotoSlab-Regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Inconsolata-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build/html/_static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/Inconsolata-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/Inconsolata-Regular.ttf -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/_build_html/_static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChanMo/django_wechat/HEAD/docs/_build_html/_static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /wechat/apps.py: -------------------------------------------------------------------------------- 1 | from django.utils.translation import ugettext_lazy as _ 2 | from django.apps import AppConfig 3 | 4 | class WechatConfig(AppConfig): 5 | name = 'wechat' 6 | verbose_name = _('wechat') 7 | -------------------------------------------------------------------------------- /docs/_build/html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: 43d22ff0ebec04b511688f1162742617 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /docs/_build_html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: 43d22ff0ebec04b511688f1162742617 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /wechat/templates/admin/wechat/menu/change_list.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/change_list.html" %} 2 | {% load i18n %} 3 | {% block object-tools-items %} 4 | {{ block.super }} 5 |
一个基于django的微信基础功能模块
136 |安装依赖模块:
139 |安装wechat:
140 |把wechat模块添加到你的settings.py里面:
141 |在settings.py里面添加微信设置信息:
142 |在urls.py里面添加微信接口:
143 |添加数据表:
144 |使用微信开发者模块:
145 |146 |148 |接口地址为:http://yourdomain/wx/ 147 | token为: yourtoken
一个基于django的微信基础功能模块
136 |安装依赖模块:
139 |安装wechat:
140 |把wechat模块添加到你的settings.py里面:
141 |在settings.py里面添加微信设置信息:
142 |在urls.py里面添加微信接口:
143 |添加数据表:
144 |使用微信开发者模块:
145 |146 |148 |接口地址为:http://yourdomain/wx/ 147 | token为: yourtoken
django_wechat 是一个基于django的微信基础模块,提供了微信的最基础接口功能.
139 |安装依赖模块:
152 |pip install xmltodict
153 | 安装wechat:
156 |pip install git+https://github.com/ChanMo/django_wechat.git
157 | 把wechat模块添加到你的settings.py里面:
160 | INSTALLED_APPS = (
161 | ...
162 | 'wechat',
163 | ...
164 | )
165 | 在settings.py里面添加微信设置信息:
168 |# wechat config
169 | WECHAT_APPID = 'test'
170 | WECHAT_APPSECRET = 'test'
171 | WECHAT_TOKEN = 'yourtoken'
172 | WECHAT_MCH_ID = 'test'
173 | WECHAT_KEY = 'test'
174 | WECHAT_JS_DEBUG = 'test'
175 | WECHAT_JS_APILIST = ['test']
176 | 在urls.py里面添加微信接口:
179 |url(r'^wx/', include('wechat.urls')),
180 | 添加数据表:
183 |python manage.py migrate
184 | 使用微信开发者模块:
187 |接口地址为:http://yourdomain/wx/
188 | token为: yourtoken
189 | django_wechat 是一个基于django的微信基础模块,提供了微信的最基础接口功能.
139 |安装依赖模块:
152 |pip install xmltodict
153 | 安装wechat:
156 |pip install git+https://github.com/ChanMo/django_wechat.git
157 | 把wechat模块添加到你的settings.py里面:
160 | INSTALLED_APPS = (
161 | ...
162 | 'wechat',
163 | ...
164 | )
165 | 在settings.py里面添加微信设置信息:
168 |# wechat config
169 | WECHAT_APPID = 'test'
170 | WECHAT_APPSECRET = 'test'
171 | WECHAT_TOKEN = 'yourtoken'
172 | WECHAT_MCH_ID = 'test'
173 | WECHAT_KEY = 'test'
174 | WECHAT_JS_DEBUG = 'test'
175 | WECHAT_JS_APILIST = ['test']
176 | 在urls.py里面添加微信接口:
179 |url(r'^wx/', include('wechat.urls')),
180 | 添加数据表:
183 |python manage.py migrate
184 | 使用微信开发者模块:
187 |接口地址为:http://yourdomain/wx/
188 | token为: yourtoken
189 | ' + _('Hide Search Matches') + '
') 207 | .appendTo($('#searchbox')); 208 | } 209 | }, 210 | 211 | /** 212 | * init the domain index toggle buttons 213 | */ 214 | initIndexTable : function() { 215 | var togglers = $('img.toggler').click(function() { 216 | var src = $(this).attr('src'); 217 | var idnum = $(this).attr('id').substr(7); 218 | $('tr.cg-' + idnum).toggle(); 219 | if (src.substr(-9) == 'minus.png') 220 | $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); 221 | else 222 | $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); 223 | }).css('display', ''); 224 | if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { 225 | togglers.click(); 226 | } 227 | }, 228 | 229 | /** 230 | * helper function to hide the search marks again 231 | */ 232 | hideSearchWords : function() { 233 | $('#searchbox .highlight-link').fadeOut(300); 234 | $('span.highlighted').removeClass('highlighted'); 235 | }, 236 | 237 | /** 238 | * make the url absolute 239 | */ 240 | makeURL : function(relativeURL) { 241 | return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; 242 | }, 243 | 244 | /** 245 | * get the current relative url 246 | */ 247 | getCurrentURL : function() { 248 | var path = document.location.pathname; 249 | var parts = path.split(/\//); 250 | $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { 251 | if (this == '..') 252 | parts.pop(); 253 | }); 254 | var url = parts.join('/'); 255 | return path.substring(url.lastIndexOf('/') + 1, path.length - 1); 256 | }, 257 | 258 | initOnKeyListeners: function() { 259 | $(document).keyup(function(event) { 260 | var activeElementType = document.activeElement.tagName; 261 | // don't navigate when in search box or textarea 262 | if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { 263 | switch (event.keyCode) { 264 | case 37: // left 265 | var prevHref = $('link[rel="prev"]').prop('href'); 266 | if (prevHref) { 267 | window.location.href = prevHref; 268 | return false; 269 | } 270 | case 39: // right 271 | var nextHref = $('link[rel="next"]').prop('href'); 272 | if (nextHref) { 273 | window.location.href = nextHref; 274 | return false; 275 | } 276 | } 277 | } 278 | }); 279 | } 280 | }; 281 | 282 | // quick alias for translations 283 | _ = Documentation.gettext; 284 | 285 | $(document).ready(function() { 286 | Documentation.init(); 287 | }); -------------------------------------------------------------------------------- /docs/_build_html/_static/doctools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * doctools.js 3 | * ~~~~~~~~~~~ 4 | * 5 | * Sphinx JavaScript utilities for all documentation. 6 | * 7 | * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /** 13 | * select a different prefix for underscore 14 | */ 15 | $u = _.noConflict(); 16 | 17 | /** 18 | * make the code below compatible with browsers without 19 | * an installed firebug like debugger 20 | if (!window.console || !console.firebug) { 21 | var names = ["log", "debug", "info", "warn", "error", "assert", "dir", 22 | "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", 23 | "profile", "profileEnd"]; 24 | window.console = {}; 25 | for (var i = 0; i < names.length; ++i) 26 | window.console[names[i]] = function() {}; 27 | } 28 | */ 29 | 30 | /** 31 | * small helper function to urldecode strings 32 | */ 33 | jQuery.urldecode = function(x) { 34 | return decodeURIComponent(x).replace(/\+/g, ' '); 35 | }; 36 | 37 | /** 38 | * small helper function to urlencode strings 39 | */ 40 | jQuery.urlencode = encodeURIComponent; 41 | 42 | /** 43 | * This function returns the parsed url parameters of the 44 | * current request. Multiple values per key are supported, 45 | * it will always return arrays of strings for the value parts. 46 | */ 47 | jQuery.getQueryParameters = function(s) { 48 | if (typeof s == 'undefined') 49 | s = document.location.search; 50 | var parts = s.substr(s.indexOf('?') + 1).split('&'); 51 | var result = {}; 52 | for (var i = 0; i < parts.length; i++) { 53 | var tmp = parts[i].split('=', 2); 54 | var key = jQuery.urldecode(tmp[0]); 55 | var value = jQuery.urldecode(tmp[1]); 56 | if (key in result) 57 | result[key].push(value); 58 | else 59 | result[key] = [value]; 60 | } 61 | return result; 62 | }; 63 | 64 | /** 65 | * highlight a given string on a jquery object by wrapping it in 66 | * span elements with the given class name. 67 | */ 68 | jQuery.fn.highlightText = function(text, className) { 69 | function highlight(node) { 70 | if (node.nodeType == 3) { 71 | var val = node.nodeValue; 72 | var pos = val.toLowerCase().indexOf(text); 73 | if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { 74 | var span = document.createElement("span"); 75 | span.className = className; 76 | span.appendChild(document.createTextNode(val.substr(pos, text.length))); 77 | node.parentNode.insertBefore(span, node.parentNode.insertBefore( 78 | document.createTextNode(val.substr(pos + text.length)), 79 | node.nextSibling)); 80 | node.nodeValue = val.substr(0, pos); 81 | } 82 | } 83 | else if (!jQuery(node).is("button, select, textarea")) { 84 | jQuery.each(node.childNodes, function() { 85 | highlight(this); 86 | }); 87 | } 88 | } 89 | return this.each(function() { 90 | highlight(this); 91 | }); 92 | }; 93 | 94 | /* 95 | * backward compatibility for jQuery.browser 96 | * This will be supported until firefox bug is fixed. 97 | */ 98 | if (!jQuery.browser) { 99 | jQuery.uaMatch = function(ua) { 100 | ua = ua.toLowerCase(); 101 | 102 | var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || 103 | /(webkit)[ \/]([\w.]+)/.exec(ua) || 104 | /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || 105 | /(msie) ([\w.]+)/.exec(ua) || 106 | ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || 107 | []; 108 | 109 | return { 110 | browser: match[ 1 ] || "", 111 | version: match[ 2 ] || "0" 112 | }; 113 | }; 114 | jQuery.browser = {}; 115 | jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; 116 | } 117 | 118 | /** 119 | * Small JavaScript module for the documentation. 120 | */ 121 | var Documentation = { 122 | 123 | init : function() { 124 | this.fixFirefoxAnchorBug(); 125 | this.highlightSearchWords(); 126 | this.initIndexTable(); 127 | 128 | }, 129 | 130 | /** 131 | * i18n support 132 | */ 133 | TRANSLATIONS : {}, 134 | PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, 135 | LOCALE : 'unknown', 136 | 137 | // gettext and ngettext don't access this so that the functions 138 | // can safely bound to a different name (_ = Documentation.gettext) 139 | gettext : function(string) { 140 | var translated = Documentation.TRANSLATIONS[string]; 141 | if (typeof translated == 'undefined') 142 | return string; 143 | return (typeof translated == 'string') ? translated : translated[0]; 144 | }, 145 | 146 | ngettext : function(singular, plural, n) { 147 | var translated = Documentation.TRANSLATIONS[singular]; 148 | if (typeof translated == 'undefined') 149 | return (n == 1) ? singular : plural; 150 | return translated[Documentation.PLURALEXPR(n)]; 151 | }, 152 | 153 | addTranslations : function(catalog) { 154 | for (var key in catalog.messages) 155 | this.TRANSLATIONS[key] = catalog.messages[key]; 156 | this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); 157 | this.LOCALE = catalog.locale; 158 | }, 159 | 160 | /** 161 | * add context elements like header anchor links 162 | */ 163 | addContextElements : function() { 164 | $('div[id] > :header:first').each(function() { 165 | $('\u00B6'). 166 | attr('href', '#' + this.id). 167 | attr('title', _('Permalink to this headline')). 168 | appendTo(this); 169 | }); 170 | $('dt[id]').each(function() { 171 | $('\u00B6'). 172 | attr('href', '#' + this.id). 173 | attr('title', _('Permalink to this definition')). 174 | appendTo(this); 175 | }); 176 | }, 177 | 178 | /** 179 | * workaround a firefox stupidity 180 | * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 181 | */ 182 | fixFirefoxAnchorBug : function() { 183 | if (document.location.hash) 184 | window.setTimeout(function() { 185 | document.location.href += ''; 186 | }, 10); 187 | }, 188 | 189 | /** 190 | * highlight the search words provided in the url in the text 191 | */ 192 | highlightSearchWords : function() { 193 | var params = $.getQueryParameters(); 194 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; 195 | if (terms.length) { 196 | var body = $('div.body'); 197 | if (!body.length) { 198 | body = $('body'); 199 | } 200 | window.setTimeout(function() { 201 | $.each(terms, function() { 202 | body.highlightText(this.toLowerCase(), 'highlighted'); 203 | }); 204 | }, 10); 205 | $('' + _('Hide Search Matches') + '
') 207 | .appendTo($('#searchbox')); 208 | } 209 | }, 210 | 211 | /** 212 | * init the domain index toggle buttons 213 | */ 214 | initIndexTable : function() { 215 | var togglers = $('img.toggler').click(function() { 216 | var src = $(this).attr('src'); 217 | var idnum = $(this).attr('id').substr(7); 218 | $('tr.cg-' + idnum).toggle(); 219 | if (src.substr(-9) == 'minus.png') 220 | $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); 221 | else 222 | $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); 223 | }).css('display', ''); 224 | if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { 225 | togglers.click(); 226 | } 227 | }, 228 | 229 | /** 230 | * helper function to hide the search marks again 231 | */ 232 | hideSearchWords : function() { 233 | $('#searchbox .highlight-link').fadeOut(300); 234 | $('span.highlighted').removeClass('highlighted'); 235 | }, 236 | 237 | /** 238 | * make the url absolute 239 | */ 240 | makeURL : function(relativeURL) { 241 | return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; 242 | }, 243 | 244 | /** 245 | * get the current relative url 246 | */ 247 | getCurrentURL : function() { 248 | var path = document.location.pathname; 249 | var parts = path.split(/\//); 250 | $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { 251 | if (this == '..') 252 | parts.pop(); 253 | }); 254 | var url = parts.join('/'); 255 | return path.substring(url.lastIndexOf('/') + 1, path.length - 1); 256 | }, 257 | 258 | initOnKeyListeners: function() { 259 | $(document).keyup(function(event) { 260 | var activeElementType = document.activeElement.tagName; 261 | // don't navigate when in search box or textarea 262 | if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { 263 | switch (event.keyCode) { 264 | case 37: // left 265 | var prevHref = $('link[rel="prev"]').prop('href'); 266 | if (prevHref) { 267 | window.location.href = prevHref; 268 | return false; 269 | } 270 | case 39: // right 271 | var nextHref = $('link[rel="next"]').prop('href'); 272 | if (nextHref) { 273 | window.location.href = nextHref; 274 | return false; 275 | } 276 | } 277 | } 278 | }); 279 | } 280 | }; 281 | 282 | // quick alias for translations 283 | _ = Documentation.gettext; 284 | 285 | $(document).ready(function() { 286 | Documentation.init(); 287 | }); -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # django_wechat documentation build configuration file, created by 4 | # sphinx-quickstart on Sat Apr 9 15:12:39 2016. 5 | # 6 | # This file is execfile()d with the current directory set to its 7 | # containing dir. 8 | # 9 | # Note that not all possible configuration values are present in this 10 | # autogenerated file. 11 | # 12 | # All configuration values have a default; values that are commented out 13 | # serve to show the default. 14 | 15 | import sys 16 | import os 17 | 18 | # If extensions (or modules to document with autodoc) are in another directory, 19 | # add these directories to sys.path here. If the directory is relative to the 20 | # documentation root, use os.path.abspath to make it absolute, like shown here. 21 | #sys.path.insert(0, os.path.abspath('.')) 22 | 23 | # -- General configuration ------------------------------------------------ 24 | 25 | # If your documentation needs a minimal Sphinx version, state it here. 26 | #needs_sphinx = '1.0' 27 | 28 | # Add any Sphinx extension module names here, as strings. They can be 29 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 30 | # ones. 31 | extensions = [] 32 | 33 | # Add any paths that contain templates here, relative to this directory. 34 | templates_path = ['_templates'] 35 | 36 | # The suffix(es) of source filenames. 37 | # You can specify multiple suffix as a list of string: 38 | # source_suffix = ['.rst', '.md'] 39 | source_suffix = '.rst' 40 | 41 | # The encoding of source files. 42 | #source_encoding = 'utf-8-sig' 43 | 44 | # The master toctree document. 45 | master_doc = 'index' 46 | 47 | # General information about the project. 48 | project = u'django_wechat' 49 | copyright = u'2016, chanmo' 50 | author = u'chanmo' 51 | 52 | # The version info for the project you're documenting, acts as replacement for 53 | # |version| and |release|, also used in various other places throughout the 54 | # built documents. 55 | # 56 | # The short X.Y version. 57 | version = u'3.0' 58 | # The full version, including alpha/beta/rc tags. 59 | release = u'3.0' 60 | 61 | # The language for content autogenerated by Sphinx. Refer to documentation 62 | # for a list of supported languages. 63 | # 64 | # This is also used if you do content translation via gettext catalogs. 65 | # Usually you set "language" from the command line for these cases. 66 | language = 'zh-hans' 67 | 68 | # There are two options for replacing |today|: either, you set today to some 69 | # non-false value, then it is used: 70 | #today = '' 71 | # Else, today_fmt is used as the format for a strftime call. 72 | #today_fmt = '%B %d, %Y' 73 | 74 | # List of patterns, relative to source directory, that match files and 75 | # directories to ignore when looking for source files. 76 | exclude_patterns = ['_build'] 77 | 78 | # The reST default role (used for this markup: `text`) to use for all 79 | # documents. 80 | #default_role = None 81 | 82 | # If true, '()' will be appended to :func: etc. cross-reference text. 83 | #add_function_parentheses = True 84 | 85 | # If true, the current module name will be prepended to all description 86 | # unit titles (such as .. function::). 87 | #add_module_names = True 88 | 89 | # If true, sectionauthor and moduleauthor directives will be shown in the 90 | # output. They are ignored by default. 91 | #show_authors = False 92 | 93 | # The name of the Pygments (syntax highlighting) style to use. 94 | pygments_style = 'sphinx' 95 | 96 | # A list of ignored prefixes for module index sorting. 97 | #modindex_common_prefix = [] 98 | 99 | # If true, keep warnings as "system message" paragraphs in the built documents. 100 | #keep_warnings = False 101 | 102 | # If true, `todo` and `todoList` produce output, else they produce nothing. 103 | todo_include_todos = False 104 | 105 | 106 | # -- Options for HTML output ---------------------------------------------- 107 | 108 | # The theme to use for HTML and HTML Help pages. See the documentation for 109 | # a list of builtin themes. 110 | html_theme = 'sphinx_rtd_theme' 111 | 112 | # Theme options are theme-specific and customize the look and feel of a theme 113 | # further. For a list of options available for each theme, see the 114 | # documentation. 115 | #html_theme_options = {} 116 | 117 | # Add any paths that contain custom themes here, relative to this directory. 118 | #html_theme_path = [] 119 | 120 | # The name for this set of Sphinx documents. If None, it defaults to 121 | # "