Saravanan666/pypi-org huggingface dataset:
Package: django-websocket-redis
Project home:https://github.com/jrief/django-websocket-redisDetailed documentation on [ReadTheDocs](http://django-websocket-redis.readthedocs.org/en/latest/).Online demo:http://django-websocket-redis.awesto.com/Websockets for Django using Redis as message queueThis module implements websockets on top of Django without requiring any additional framework. For
messaging it uses the [Redis](http://redis.io/) datastore and in a production environment, it is
intended to work under [uWSGI](http://projects.unbit.it/uwsgi/) and behind [NGiNX](http://nginx.com/)
or [Apache](http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) version 2.4.5 or later.FeaturesLargely scalable for Django applications with many hundreds of open websocket connections.Runs a separate Django main loop in a cooperative concurrency model using [gevent](http://www.gevent.org/),
thus only one thread/process is required to controlallopen websockets simultaneously.Full control over this separate main loop during development, soDjangocan be started as usual with./manage.py runserver.No dependency to any other asynchronous event driven framework, such as Tornado, Twisted or
Socket.io/Node.js.Normal Django requests communicate with this separate main loop throughRediswhich, by the way is a good
replacement for memcached.Optionally persisting messages, allowing server reboots and client reconnections.If unsure, if this proposed architecture is the correct approach on how to integrate Websockets with Django, then
please read Roberto De Ioris (BDFL of uWSGI) article about
[Offloading Websockets and Server-Sent Events AKA “Combine them with Django safely”](http://uwsgi-docs.readthedocs.org/en/latest/articles/OffloadingWebsocketsAndSSE.html).Please also consider, that whichever alternative technology you use, you always need a message queue,
so that the Django application can “talk” to the browser. This is because the only link between the browser and
the server is through the Websocket and thus, by definition a long living connection. For scalability reasons you
can’t start a Django server thread for each of these connections.Release HistoryRefer to [changelog.rst](docs/changelog.rst)Build status[![Build Status](https://travis-ci.org/jrief/django-websocket-redis.png?branch=master)](https://travis-ci.org/jrief/django-websocket-redis)
[![Downloads](http://img.shields.io/pypi/dm/django-websocket-redis.svg?style=flat-square)](https://pypi.python.org/pypi/django-websocket-redis/)QuestionsPlease use the issue tracker to ask questions.LicenseCopyright &copy; 2015 Jacob Rief.MIT licensed.
Package: django-websocket-redis3
Fork with better py3 compatibility.Main and great library home:https://github.com/jrief/django-websocket-redisDetailed documentation onReadTheDocs.Online demo:http://websocket.aws.awesto.com/Why did I do that?Base library has several critical py3 incompatibilities. I’ll try to get
rid of ‘six’ module too.Build statusQuestionsPlease use the issue tracker to ask questions.LicenseCopyright © 2015 Dmitry Shlagoff.MIT licensed.
Package: django-websocket-redis-plus
Project home:https://github.com/jrief/django-websocket-redisDetailed documentation on [ReadTheDocs](http://django-websocket-redis.readthedocs.org/en/latest/).Online demo:http://django-websocket-redis.awesto.com/Websockets for Django using Redis as message queueThis module implements websockets on top of Django without requiring any additional framework. For
messaging it uses the [Redis](http://redis.io/) datastore and in a production environment, it is
intended to work under [uWSGI](http://projects.unbit.it/uwsgi/) and behind [NGiNX](http://nginx.com/)
or [Apache](http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) version 2.4.5 or later.FeaturesLargely scalable for Django applications with many hundreds of open websocket connections.Runs a separate Django main loop in a cooperative concurrency model using [gevent](http://www.gevent.org/),
thus only one thread/process is required to controlallopen websockets simultaneously.Full control over this separate main loop during development, soDjangocan be started as usual with./manage.py runserver.No dependency to any other asynchronous event driven framework, such as Tornado, Twisted or
Socket.io/Node.js.Normal Django requests communicate with this separate main loop throughRediswhich, by the way is a good
replacement for memcached.Optionally persisting messages, allowing server reboots and client reconnections.If unsure, if this proposed architecture is the correct approach on how to integrate Websockets with Django, then
please read Roberto De Ioris (BDFL of uWSGI) article about
[Offloading Websockets and Server-Sent Events AKA “Combine them with Django safely”](http://uwsgi-docs.readthedocs.org/en/latest/articles/OffloadingWebsocketsAndSSE.html).Please also consider, that whichever alternative technology you use, you always need a message queue,
so that the Django application can “talk” to the browser. This is because the only link between the browser and
the server is through the Websocket and thus, by definition a long living connection. For scalability reasons you
can’t start a Django server thread for each of these connections.Release HistoryRefer to [changelog.rst](docs/changelog.rst)Build status[![Build Status](https://travis-ci.org/jrief/django-websocket-redis.png?branch=master)](https://travis-ci.org/jrief/django-websocket-redis)
[![Downloads](http://img.shields.io/pypi/dm/django-websocket-redis.svg?style=flat-square)](https://pypi.python.org/pypi/django-websocket-redis/)QuestionsPlease use the issue tracker to ask questions.LicenseCopyright &copy; 2015 Jacob Rief.MIT licensed.
Package: django-websocket-redis-up
Project home:https://github.com/jrief/django-websocket-redisDetailed documentation on [ReadTheDocs](http://django-websocket-redis.readthedocs.org/en/latest/).Online demo:http://django-websocket-redis.awesto.com/Websockets for Django using Redis as message queueThis module implements websockets on top of Django without requiring any additional framework. For
messaging it uses the [Redis](http://redis.io/) datastore and in a production environment, it is
intended to work under [uWSGI](http://projects.unbit.it/uwsgi/) and behind [NGiNX](http://nginx.com/)
or [Apache](http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) version 2.4.5 or later.FeaturesLargely scalable for Django applications with many hundreds of open websocket connections.Runs a separate Django main loop in a cooperative concurrency model using [gevent](http://www.gevent.org/),
thus only one thread/process is required to controlallopen websockets simultaneously.Full control over this separate main loop during development, soDjangocan be started as usual with./manage.py runserver.No dependency to any other asynchronous event driven framework, such as Tornado, Twisted or
Socket.io/Node.js.Normal Django requests communicate with this separate main loop throughRediswhich, by the way is a good
replacement for memcached.Optionally persisting messages, allowing server reboots and client reconnections.If unsure, if this proposed architecture is the correct approach on how to integrate Websockets with Django, then
please read Roberto De Ioris (BDFL of uWSGI) article about
[Offloading Websockets and Server-Sent Events AKA “Combine them with Django safely”](http://uwsgi-docs.readthedocs.org/en/latest/articles/OffloadingWebsocketsAndSSE.html).Please also consider, that whichever alternative technology you use, you always need a message queue,
so that the Django application can “talk” to the browser. This is because the only link between the browser and
the server is through the Websocket and thus, by definition a long living connection. For scalability reasons you
can’t start a Django server thread for each of these connections.Release HistoryRefer to [changelog.rst](docs/changelog.rst)Build status[![Build Status](https://travis-ci.org/jrief/django-websocket-redis.png?branch=master)](https://travis-ci.org/jrief/django-websocket-redis)
[![Downloads](http://img.shields.io/pypi/dm/django-websocket-redis.svg?style=flat-square)](https://pypi.python.org/pypi/django-websocket-redis/)QuestionsPlease use the issue tracker to ask questions.LicenseCopyright &copy; 2015 Jacob Rief.MIT licensed.
Package: django-websocket-request
# django-websocket-request[![Build Status](https://travis-ci.org/GetBlimp/django-websocket-request.png?branch=master)](https://travis-ci.org/GetBlimp/django-websocket-request) [![PyPI version](https://badge.fury.io/py/django-websocket-request.png)](http://badge.fury.io/py/django-websocket-request)## OverviewThis package provides support for transport agnostic routing to allow the Django's request/response lifecycle to automatically WebSocket messages. It borrows a WebSocket message format from [Sails.js](http://sailsjs.org/).## InstallationInstall using `pip`...```$ pip install django-websocket-request```## Usage### ws.py```python# Set Django Environmentos.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'from wsrequest import WebSocketRequestmessage = '{"method": "GET", "url": "/api/projects/"}'request = WebSocketRequest(message)response = request.get_response()print(response.content)```### WebSocket message formatThe method key can be any HTTP method: GET, POST, PUT, DELETE, PATCH, HEAD, or OPTIONS. The url key is an absolute URL without the domain name. The data key is an optional dictionary in which the key-value pairs in used to create the method’s data payload. The token key is also optional, and used to recreate an HTTP Authorization header, Authorization: JWT YOUR_TOKEN_HERE. If you're using Django REST framework, you might like to check out [django-rest-framework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt).```json{"method": "POST","url": "/api/companies/","data": {"name": "Acme Inc."},"token": "MY_JSON_WEB_TOKEN"}```## Live DemoCheck out [GetBlimp/django-websocket-request-example](https://github.com/GetBlimp/django-websocket-request-example) for an example implementation and a live demo.## Example implementation with sockjs + tornado```pythonimport osimport jsonfrom tornado import web, ioloopfrom sockjs.tornado import SockJSRouter, SockJSConnection# Set Django Environmentos.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'from wsrequest import WebSocketRequestclass RESTAPIConnection(SockJSConnection):def on_open(self, info):self.send(json.dumps({'connected': True}))def on_message(self, data):response = WebSocketRequest(data).get_response()self.send(response.content)if __name__ == '__main__':import loggingport = 8080logging.getLogger().setLevel(logging.INFO)Router = SockJSRouter(RESTAPIConnection, '/ws/api')app = web.Application(Router.urls)app.listen(port)logging.info(" [*] Listening on 0.0.0.0:{}".format(port))ioloop.IOLoop.instance().start()```
Package: django-websockets
Django + WebsocketsThis project is a case study of usingPython Websocketsas a websocket backend forDjango.It's inspired byDjango Channelsand aims to provide a seamless transition from it, despite not being an ASGI implementation.MotivationAlthough Django Channels is easy to use and offers excellent performance in single-group or groupless environments, its performance tends to drop significantly in multi-group implementations. This approach uses a RPC transport for communication, eliminating the dependency on a message broker like Redis. Instead, we managed groups using asyncio queues.Configuration Examplesettings.py# Middleware stack called in each connectionWEBSOCKET_MIDDLEWARE=['django_websockets.middlewares.scope.ScopeMiddleware','django_websockets.middlewares.auth.AuthMiddleware','django_websockets.middlewares.route.RouteMiddleware']# URL mapping module pathWEBSOCKET_ROUTE_MODULE='my_project.routing'# Transport backendWEBSOCKET_TRANSPORT_BACKENDS={'default':{'BACKEND':'django_websockets.transport.gGPCTransportLayer','CONFIG':{'address':'unix:/tmp/example.sock'}}}my_project/routing.pyfromdjango.urlsimportre_pathfrommyapp.websocketsimport(InternalChatConsumer)urlpatterns=[re_path(r'/ws/internalchat/?$',ChatConsumer.as_handler()),]myapp/websockets.pyfromdjango_websockets.groupsimportGroupMessagefromdjango_websockets.consumersimportBaseConsumerfromdjango_websockets.middlewares.utilsimportdatabase_sync_to_asyncfromdjango_websockets.transportimportget_channel_layerimportjsonclassChatConsumer(BaseConsumer):session_started=Falseasyncdefconnect(self):# Channels like scope systemself.user=self.scope["user"]ifnotawaitdatabase_sync_to_async(self.user.has_perm)('myapp.connect_to_chat'):returnawaitself.reject()self.room_group_name=f'chat_room_a'self.user_name=self.user.nameorself.user.user_name,awaitget_channel_layer().group_add(self.room_group_name,self)session_started=Trueasyncdefreject(self):# Do any cleaning hereawaitself.close()asyncdefchat_message(self,event:GroupMessage):# Params can be used for doing filteringparams=json.loads(event.params)ifparams['user_name']===self.user_name:returnawaitself.send(json.dumps({'from':params['user_name'],'message':event.message}))asyncdefreceive(self,text_data):# User was verified?ifself.session_started:awaitget_channel_layer().group_send(self.room_group_name,GroupMessage('chat_message',message=text_data,params=json.dumps({'sender':self.user_name})))RunningUsing TCP:python3manage.pywebsockets_server-blocalhost:7000-w4Using Unix:python3manage.pywebsockets_server-bunix:/var/run/websockets.sock-w4
Package: django-webstack
django-webstack一个导航APP，可以直接安装到django当做一个独立的应用，效果可以看我博客https://tendcode.com/nav/使用步骤step 1 安裝包依赖# 安装django-imagekit是为了上传网址logopipinstallPillow==9.3.0
pipinstalldjango-imagekit==4.0.2
pipinstalldjango-webstack>=1.4.2如果pip设置了非官方源（比如豆瓣源）导致安装失败，可能是没有同步官方的资源，此时可以临时设置成官方源试试:pipinstalldjango-webstack>=1.4.2--index-urlhttps://pypi.org/simple--trusted-hostpypi.orgstep 2 配置中添加应用INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','webstack',]step 3 生成数据表pythonmanage.pymakemigrations
pythonmanage.pymigratestep 4 添加到路由# 将应用路由添加到Django项目的根urls.py文件中urlpatterns=[...path('nav/',include(('webstack.urls','webstack'),namespace='webstack')),]step 5 前往管理界面添加数据即可显示到前台应用会生成3张表，对应3个模型：一级菜单-二级菜单-导航网站，先添加一级菜单然后添加二级菜单，然后添加导航网址，一层一层关联即可，如果想要直接显示一级菜单，则可以添加一个跟一级菜单同名的二级菜单。个性化配置（非必须）应用本身安装就可以使用，但是你也可以自定义页面，包括页面的排版和静态资源都可以自定义，具体方式如下：可以在项目跟目录的templates目录下创建一个webstack目录，并在其中创建一个index.html文件，用来覆盖原应用的index.html文件，原文件的内容自行查看代码，可以参考我项目的修改：https://github.com/Hopetree/izone/blob/master/templates/webstack/index.html{% extends 'webstack/base.html' %}
{% load static %}

{% block title %}程序员网址导航_TendCode{% endblock %}

{% block meta %}<linkrel="shortcut icon"href="{% static 'blog/img/favicon.ico' %}"type="image/x-icon"/><metaname="keywords"content="程序员网址导航,网址收藏,tendcode.com"><metaname="description"content="程序员常用网址导航聚合站">{% endblock %}

{% block top-file %}{% endblock %}

{% block logo %}<divclass="logo"><ahref="{% url 'webstack:webstack_index' %}"class="logo-expanded"><imgsrc="{% static 'blog/img/nav-logo.png' %}"height="40"alt=""/></a><ahref="{% url 'webstack:webstack_index' %}"class="logo-collapsed"><imgsrc="{% static 'webstack/assets/images/logo-collapsed@2x.png' %}"height="40"alt=""/></a></div>{% endblock %}

{% block navbar-list %}<listyle="min-height: 75px;"><ahref="{% url 'blog:index' %}">首页</a></li><listyle="min-height: 75px;"><ahref="{% url 'blog:subject_index' %}">博客专题</a></li><listyle="min-height: 75px;"><ahref="{% url 'tool:total' %}">在线工具</a></li><listyle="min-height: 75px;"><ahref="{% url 'blog:about' %}">关于</a></li>{% endblock %}

{% block main-menu %}{% endblock %}

{% block footer %}<divclass="footer-text">&copy;{{ this_year }}<ahref="https://github.com/Hopetree/django-webstack"><strong>django-webstack</strong></a>design by<ahref="https://github.com/Hopetree"target="_blank"><strong>Hopetree</strong></a></div>{% endblock %}拓展功能：菜单和网站都是可以后台动态添加的，包括网站的logo图标上传页面布局可以使用Django的模板个性化调整，静态文件也是图标库使用cdn，bootstrp也是cdn，加快网站访问网站添加了属性用来记录网站的可用状态，Django用到定时任务的可以添加定时任务更新网站状态，将不可访问网站标记为不显示，页面就不会显示，定时任务自动刷新状态，保证网站都是可访问的你可以自定义网页标题、关键词和描述，并且可以添加自定义的静态文件包括css和js文件，并且可以自定义页面额外的菜单，一级页脚，甚至整个页面的排版。原项目地址本项目是基于Webstack网址导航项目改变而来，将静态导航网站改成了有后台的Django项目，原项目地址如下：https://github.com/WebStackPage/WebStackPage.github.io
Package: django-webtopay
Inspired by django-paypalHow to useinstall django-webtopayaddWEBTOPAY_PASSWORD='pass'to your settings fileAdd callback url::
url(r’^wtp/’, include(‘webtopay.urls.makro’))
(it should be relatively hard to guess)Create a form for submission:form = WebToPaymentForm(
    dict(projectid = 123123,
        orderid = '3c3662bcb661d6de679c636744c66b62',
        accepturl = request.build_absolute_uri(),
        cancelurl = request.build_absolute_uri(),
        callbackurl = reverse('webtopay-makro'),
        paytext = "Payment for services",
        p_firstname = "Vardenis",
        p_lastname = "Pavardenis",
        p_email = "vardenis@pavardenis.lt",
        amount = 989, # 9 Lt 89 ct
        test = 1
        ),
    button_html="<input type='submit' value='Pay!'/>",
)Catch a django signal when the payment is completed:from webtopay.signals import payment_was_successful
def process_payment(**kargs):
    trans = kargs['sender']
    if price_i_expect * 100 != trans.amount:
        log.error("Received wrong amount. Expected: %d, got: %d",\
            price_i_expect*100, trans.amount)
        return
    paid = True
    # from this point we assume customer paid
    #...
payment_was_successful.connect(process_payment)You should catch payment_was_flagged signal if you want to know when something
went wrong:from webtopay.signals import payment_was_flagged
def investigate_payment(**kargs):
    # kargs['sender'] is an instance of WebToPayResponse.
    # All fields are documented in webtopay/models.py
    log.warn("Payment went wrong for %s, please investigate",
        kargs['sender'].orderid)
payment_was_flagged.connect(investigate_payment)If you have any questions or problems, please useissuespage.
Package: django-webuild-ds
django-webuild_dsdjango-webuild_ds 는 webuild-pro v2.3.1을 장고에 맞게 포팅한 장고앱이다.프로젝트에 설치하기webuild 앱과 demian_parts 앱을 프로젝트 settings.py 의 INSTALLED_APPS 에 추가한다.importosINSTALLED_APPS=[...'demian_parts','webuild',]...MEDIA_URL='/media/'MEDIA_ROOT=os.path.join(BASE_DIR,'media/')X_FRAME_OPTIONS='SAMEORIGIN'프로젝트의 urls.py에 webuild url을 추가한다.fromdjango.urlsimportpath,includefromdjango.confimportsettingsfromdjango.conf.urls.staticimportstaticurlpatterns=[...path('',include('webuild.urls')),]ifsettings.DEBUG:urlpatterns+=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)포트폴리오를 입력하기 위해서 프로젝트에 webuild 데이터베이스를 생성한다.python manage.py makemigrations webuild demian_parts
    python manage.py migrate
    python manage.py createsuperuserhttp://127.0.0.1:8000/admin으로 접속하여 포트폴리오를 입력한다.프로젝트 구조 생성하기개별 업체의 static 폴더 경로를 INSTALLED_APPS 에 추가한다.importosSTATICFILES_DIRS=[os.path.join(BASE_DIR,'_static/'),]_data 폴더를 생성하고 contents.py내에 데이터를 형식에 맞게 입력한다._static 폴더를 생성하고 각종 이미지 등을 형식에 맞게 저장한다.참고 : SCSS 설치하기 - 프로젝트에 SCSS를 설치해야 앱이 작동한다.https://www.accordbox.com/blog/how-use-scss-sass-your-django-project-python-way/django_compressor, django-libsass를 설치한다. (앱을 설치하면 자동으로 설치된다.)pip install django_compressor django-libsass프로젝트 settings.py 의 INSTALLED_APPS 에 다음을 추가한다.importosINSTALLED_APPS=[...'compressor',]COMPRESS_PRECOMPILERS=(('text/x-scss','django_libsass.SassCompiler'),)STATICFILES_FINDERS=['django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder','compressor.finders.CompressorFinder',]# compressor 앱을 실행하기 위해서는 STATIC_ROOT가 설정되어 있어야 한다.STATIC_ROOT=os.path.join(BASE_DIR,'staticfiles')
Package: django-web-utils
Django Web UtilsSome helpers for working with the web.Provided are:format_currencyformats currency (USD) to a string.>>> cash = 1250
>>> formatted = format_currency(cash)
'$1,250.00'>>> formatted = format_currency(cash, places=0)
'$1,250'>>> cash = 0
>>> formatted = format_currency(cash, show_zero=False)
''format_currency template tagFor django to be able to find the templatetags, you’ll need to registerweb_utilsin your INSTALLED_APPS settings{% load formatting_tags %}# value, places, show_zero flag.
{% format_currency cash_amount 0 “False” %}ping_google_sitemapA signal receiver to ping Google Sitemap to let them know your content changedAdd the following to settings.py
PING_GOOGLE_SITEMAP = True
SITE_DOMAIN = ‘http://www.example.com’Add a named url: ‘sitemap’ so the method can resolve your sitemap urlRegister the receiver on whatever signal you’d like to trigger the ping.receiver(models.signals.post_save, sender=BlogEntry, dispatch_uid=”BlogEntry”)(ping_google_sitemap)SSLMiddlewareAllows you to force various urls through https or httpAddSSL_ENABLED = Trueto your settings.pyAddweb_utils.middleware.SSLMiddlewareto your middleware settingsAdd aUSE_SSL= True/False to a route’s view_kwargsurl(r’^admin/’, include(admin.site.urls), kwargs={‘USE_SSL’: True}),By default, all routes will be forced to http unless they haveUSE_SSL=TrueIf you would like to flip this and secure everything except only specific routes
addUSE_SSL_DEFAULT=Trueto your settings.
Package: django-wechat-base
Django Wechat Base基于django的微信基础模块, 包括使用django缓存, 图片存储等Quick StartInstall$ pip install django-wechat-baseUpdatesettings.pyWECHAT = {
    'appid': '',
    'secret': '',
    ...
}Usagefrom wechat.wxa import Wxa

wxa = Wxa()
qrcode = wxa.get_qrcode('https://github.com/ChanMo/')
print(qrcode)API ListWxafrom wechat import wxa小程序相关功能get_pay_data获取小程序支付数据get_qrcode获取小程序二维码get_delivery获取小程序物流信息Wxbfrom wechat import wxb公众号模块get_js_config获取js配置jsonMessagefrom wechat import message消息模块send发送模块消息Payment(v3)from wechat import payment3微信支付相关(v3)get_pay_data获取支付数据parse_result解析异步返回值return_failure返回错误信息return_success返回成功信息Payment(v2)微信支付相关(v2)
Package: django-wechat-member
基于django-wechat-base的微信会员模块快速开始:安装django-wechat-member:pip install django-wechat-member修改settings.py文件:INSTALLED_APPS = (
    ...
    'wechat',
    'wechat_member',
)修改urls.py文件:url(r'^wx_member/', include('wechat_member.urls', namespace='wx_member')),更新数据库:./manage.py makemigrations wechat_member
./manage.py migrate使用WxMemberView和self.wx_member:from wechat_member.views import WxMemberView

class TestView(WxMemberView):
    def get_context_data(self, **kwargs):
        member = self.wx_member
        ...
Package: django-wechat-menu
微信自定义菜单管理模块=================基于django-wechat-base的简单微信自定义管理模块快速开始:---------安装django-wechat-menu:.. code-block::pip install django-wechat-menu修改settings.py文件:.. code-block::INSTALLED_APPS = (...'wechat','wechat_menu',...)在settings.py文件底部添加:.. code-block::# wechat configWECHAT = [{'appid': 'demo','appsecret': 'demo','token': 'demo',},]版本更改:---------
Package: django-wechat-message
基于django-wechat-base的简单微信消息管理模块快速开始:安装django-wechat-message:pip install django-wechat-message修改settings.py文件:INSTALLED_APPS = (
    ...
    'wechat',
    'wechat_message',
    ...
)在settings.py文件底部添加:# wechat config
WECHAT = [
    {
        'appid': 'demo',
        'appsecret': 'demo',
        'token': 'demo',
    },
]修改urls.py文件:urlpatterns = [
    ...
    url(r'^wx/', include('wechat_message.urls', namespace='wx')),
    ...
]版本更改:v1.0 使用统一的xml回复
Package: django-wechat-pay
快速开始:安装django-wechat-pay:pip install django-wechat-pay修改settings.py文件:INSTALLED_APPS = (
    ...
    'wechat',
    'wechat_pay',
    ...
)在settings.py文件底部添加:# wechat config
WECHAT = [
    {
        'appid': 'demo',
        'appsecret': 'demo',
        'token': 'demo',
        'mch_id': 'demo',
        'key': 'demo',
        'body': 'demo',
    },
]版本更改:v0.1 第一版
Package: django-wechat-qrcode
功能说明：每个微信会员有一个唯一的二维码可以记录用户的来源快速开始:安装django-wechat-qrcode:pip install django-wechat-qrcode修改settings.py文件:INSTALLED_APPS = (
    ...
    'wechat',
    'wechat_message',
    'wechat_member',
    'wechat_qrcode',
    ...
)修改urls.py文件:url(r'^qrcode/', include('wechat_qrcode.urls')),更新数据库:python manage.py makemigrations wechat_qrcode
python manage.py migrate微信开发者链接:http://yourdomain/qrcode/wx/用户二维码主页:http://yourdomain/qrcode/版本更改:v1.0 模块名称更新为wechat_qrcode