{ "info": { "author": "Hackathon", "author_email": "kimi.huang@brightcells.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Programming Language :: Python", "Topic :: Office/Business :: Financial :: Spreadsheet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=========\ndjango-we\n=========\n\nDjango WeChat OAuth2/Share/Token API\n\nInstallation\n============\n\n::\n\n pip install django-we\n\n\nUrls.py\n=======\n\n::\n\n urlpatterns = [\n url(r'^we/', include('django_we.urls', namespace='django_we')),\n ]\n\n\nor::\n\n from django.conf.urls import include, url\n from django_we import views as we_views\n\n # WeChat OAuth2\n urlpatterns = [\n url(r'^o$', we_views.we_oauth2, name='shorten_o'),\n url(r'^oauth$', we_views.we_oauth2, name='shorten_oauth'),\n url(r'^oauth2$', we_views.we_oauth2, name='shorten_oauth2'),\n url(r'^we_oauth2$', we_views.we_oauth2, name='we_oauth2'),\n url(r'^base_redirect$', we_views.base_redirect, name='base_redirect'),\n url(r'^userinfo_redirect$', we_views.userinfo_redirect, name='userinfo_redirect'),\n url(r'^direct_base_redirect$', we_views.direct_base_redirect, name='direct_base_redirect'),\n url(r'^direct_userinfo_redirect$', we_views.direct_userinfo_redirect, name='direct_userinfo_redirect'),\n ]\n\n # WeChat Share\n urlpatterns += [\n url(r'^ws$', we_views.we_share, name='shorten_we_share'),\n url(r'^weshare$', we_views.we_share, name='we_share'),\n ]\n\n # WeChat JSAPI Signature\n urlpatterns += [\n url(r'^js$', we_views.we_jsapi_signature_api, name='shorten_we_jsapi_signature_api'),\n url(r'^jsapi_signature$', we_views.we_jsapi_signature_api, name='we_jsapi_signature_api'),\n ]\n\n # WeChat Token\n urlpatterns += [\n url(r'^token$', we_views.we_access_token, name='we_token'),\n url(r'^access_token$', we_views.we_access_token, name='we_access_token'),\n ]\n\n\nSettings.py\n===========\n\n::\n\n INSTALLED_APPS = (\n ...\n 'django_we',\n ...\n )\n\n # Wechat Settings\n WECHAT = {\n 'JSAPI': {\n 'token': '5201314',\n 'appID': '',\n 'appsecret': '',\n 'mchID': '',\n 'apiKey': '',\n 'mch_cert': '',\n 'mch_key': '',\n 'redpack': {\n 'SEND_NAME': '',\n 'NICK_NAME': '',\n 'ACT_NAME': '',\n 'WISHING': '',\n 'REMARK': '',\n }\n },\n }\n\n # Wechat OAuth Cfg\n DJANGO_WE_OAUTH_CFG = 'JSAPI' # Default ``JSAPI``\n\n # Based on Urls.py\n # WECHAT_OAUTH2_REDIRECT_URI = 'https://we.com/we/we_oauth2?scope={}&redirect_url={}'\n # WECHAT_OAUTH2_REDIRECT_URI = 'https://we.com/we/o?scope={}&r={}' # Shorten URL\n WECHAT_OAUTH2_REDIRECT_URI = 'https://we.com/we/o?r={}' # Shorten URL Farther, Scope default ``snsapi_userinfo``\n WECHAT_BASE_REDIRECT_URI = 'https://we.com/we/base_redirect'\n WECHAT_USERINFO_REDIRECT_URI = 'https://we.com/we/userinfo_redirect'\n WECHAT_DIRECT_BASE_REDIRECT_URI = 'https://we.com/we/direct_base_redirect'\n WECHAT_DIRECT_USERINFO_REDIRECT_URI = 'https://we.com/we/direct_userinfo_redirect'\n\n # Temp Share Page to Redirect\n WECHAT_OAUTH2_REDIRECT_URL = ''\n\n\nWechat_Only\n===========\n\n::\n\n # Settings.py\n MIDDLEWARE = [\n ...\n 'detect.middleware.UserAgentDetectionMiddleware',\n ...\n ]\n\n WECHAT_ONLY = True # Default False\n\n # Usage\n from django_we.decorators import wechat_only\n\n @wechat_only\n def xxx(request):\n \"\"\" Docstring \"\"\"\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/django-xxx/django-we", "keywords": "django-we", "license": "", "maintainer": "", "maintainer_email": "", "name": "django-we", "package_url": "https://pypi.org/project/django-we/", "platform": "", "project_url": "https://pypi.org/project/django-we/", "project_urls": { "Homepage": "https://github.com/django-xxx/django-we" }, "release_url": "https://pypi.org/project/django-we/1.5.3/", "requires_dist": [ "django-admin (>=1.2.4)", "django-detect", "django-json-response", "django-logit", "django-models-ext", "furl", "jsonfield", "pywe-component-authorizer-token (>=1.1.1)", "pywe-component-ticket", "pywe-decrypt (>=1.1.3)", "pywe-jssdk (>=1.1.0)", "pywe-oauth (>=1.0.5)", "pywe-qrcode", "pywe-sign (>=1.0.7)", "pywe-storage", "pywe-token (>=1.2.1)", "pywe-xml" ], "requires_python": "", "summary": "Django WeChat OAuth2/Share/Token API", "version": "1.5.3" }, "last_serial": 5748267, "releases": { "1.2.0": [ { "comment_text": "", "digests": { "md5": "12869e17a6e77b4d59c9286344bf4631", "sha256": "4b0dcbdae02ae081b79ffab73a69f06c4e837ff0c5c330f42dc1e2af5561b412" }, "downloads": -1, "filename": "django_we-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "12869e17a6e77b4d59c9286344bf4631", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8367, "upload_time": "2018-03-22T09:33:17", "url": "https://files.pythonhosted.org/packages/f9/46/0f89ca0061590d606566f639e5da479f55b217f1d6ae48d6ef67ef976250/django_we-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "560737230d759b1fdbb2f1c9b0607dc4", "sha256": "269fcff8fadb2087f8cd5886c2aacec300ffffe8da82ac272f4348f138f452f4" }, "downloads": -1, "filename": "django-we-1.2.0.tar.gz", "has_sig": false, "md5_digest": "560737230d759b1fdbb2f1c9b0607dc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5073, "upload_time": "2018-03-22T09:33:19", "url": "https://files.pythonhosted.org/packages/48/ba/11184ed16dab334fd5d6d887448cf0e28d19946cfb942b362f103fbb33d7/django-we-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "5c001ba89d09b56abb9444727f17d480", "sha256": "b63da1c8eb2c958d26f6aeaadc6edbec1662aa7d0e4292ef36786afa4db0efa2" }, "downloads": -1, "filename": "django_we-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5c001ba89d09b56abb9444727f17d480", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9936, "upload_time": "2018-04-19T14:14:59", "url": "https://files.pythonhosted.org/packages/c7/fb/c11a733c3a8ff8fbe29565b92f5fc1ea72169f7ce704caca7a4197dbae48/django_we-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "907030d8918fda915fd0a3a9b1e7302b", "sha256": "d8a91eac623a179cfe0835d964e96396e9af804120c2455c11a764e45df7e374" }, "downloads": -1, "filename": "django-we-1.3.0.tar.gz", "has_sig": false, "md5_digest": "907030d8918fda915fd0a3a9b1e7302b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6652, "upload_time": "2018-04-19T14:15:00", "url": "https://files.pythonhosted.org/packages/e8/a2/107476142045c1f657a4f14de1a7e48a0ca9ed32fa5a83e36a19996bdc75/django-we-1.3.0.tar.gz" } ], "1.3.10": [ { "comment_text": "", "digests": { "md5": "d93c71040b035c7d60cfb79a3fab52e8", "sha256": "8bef5f0b3710ff6aacd83c278c8d841251dc6fbca7c4adfd92d3c3e00dcc660a" }, "downloads": -1, "filename": "django_we-1.3.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d93c71040b035c7d60cfb79a3fab52e8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11383, "upload_time": "2018-05-18T03:01:45", "url": "https://files.pythonhosted.org/packages/96/01/5514917c45c074f03aa09874938c6f26dddaf15dc5c50507248241c73c5f/django_we-1.3.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e7ce5f302f55a02d80b8328984e61c7", "sha256": "51ee11e477e28906f4ba697355b38605adeabd314fc78205179c635ee3b50133" }, "downloads": -1, "filename": "django-we-1.3.10.tar.gz", "has_sig": false, "md5_digest": "1e7ce5f302f55a02d80b8328984e61c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8785, "upload_time": "2018-05-18T03:01:46", "url": "https://files.pythonhosted.org/packages/ad/8b/176cd89c7d8de245a555f98375ee429fcada8052c29475636bc389f10dd3/django-we-1.3.10.tar.gz" } ], "1.3.8": [ { "comment_text": "", "digests": { "md5": "35d8d7a96d06ea9251a985757fd98a02", "sha256": "bb2e4dff4868da641075737437b36ca760b361d067d683d9dc4d2ecf4d590978" }, "downloads": -1, "filename": "django_we-1.3.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "35d8d7a96d06ea9251a985757fd98a02", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11265, "upload_time": "2018-05-06T03:51:41", "url": "https://files.pythonhosted.org/packages/af/02/3605d3e391cacfb7ea7de5fbaba22742801a25249330164b041c29b88bd2/django_we-1.3.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d67fb95ce3bad03e8b872c9c3be1c4e", "sha256": "6d9055efdeadee16d7334023d58761f93e18399b4a72d69eee025f6c070b60a9" }, "downloads": -1, "filename": "django-we-1.3.8.tar.gz", "has_sig": false, "md5_digest": "6d67fb95ce3bad03e8b872c9c3be1c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8701, "upload_time": "2018-05-06T03:51:43", "url": "https://files.pythonhosted.org/packages/01/52/d2bede47474db1f45f1cd89a190d49888b866a02fdfb20308ac1ce0cf733/django-we-1.3.8.tar.gz" } ], "1.3.9": [ { "comment_text": "", "digests": { "md5": "636ca82c897a8f5ea54a682a951db520", "sha256": "05ae264608eba66685a448c58b7c7849d27132befa23822a82ed0d7f176c4a15" }, "downloads": -1, "filename": "django_we-1.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "636ca82c897a8f5ea54a682a951db520", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11308, "upload_time": "2018-05-16T02:28:06", "url": "https://files.pythonhosted.org/packages/7d/7f/12518bf9a9e2c13f7a480a1ee6e8317683656243cbb6412bcf10f4502de5/django_we-1.3.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b307d1a0c82dc9f6bdd1e9de72185e49", "sha256": "6ab05f0e23fdaa24d3135a5c6fda82e0f606cdd0948ef7452774488a9839b015" }, "downloads": -1, "filename": "django-we-1.3.9.tar.gz", "has_sig": false, "md5_digest": "b307d1a0c82dc9f6bdd1e9de72185e49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8738, "upload_time": "2018-05-16T02:28:08", "url": "https://files.pythonhosted.org/packages/a0/1f/35134e17e4925bc68c3ac81efadad6888ce546eb216d26010b7b8a8566d8/django-we-1.3.9.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "532bab356c7ad6ccb1aa6e178980e17e", "sha256": "1629fe33d962ffc818f2b3be4ac952844e9095c0d04108895e83ba5a8f789c0f" }, "downloads": -1, "filename": "django_we-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "532bab356c7ad6ccb1aa6e178980e17e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11453, "upload_time": "2018-05-21T06:46:45", "url": "https://files.pythonhosted.org/packages/99/1e/44a64d0eaca6a1d045f0efe4a503f80ced0c45899c03426713fe932a4952/django_we-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2cd514bb8d36b1eae6a5e99f2cd47350", "sha256": "50fdcdcbf0d7cf916f20168de30d98ad2113e97bbc7b5cefffb53d3e8a5ae451" }, "downloads": -1, "filename": "django-we-1.4.0.tar.gz", "has_sig": false, "md5_digest": "2cd514bb8d36b1eae6a5e99f2cd47350", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8854, "upload_time": "2018-05-21T06:46:47", "url": "https://files.pythonhosted.org/packages/50/81/e3d5569fd4d74113aa4b6a6252c825c24dd9300fd6f333ba28c747e4f110/django-we-1.4.0.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "8b42571fbd0154174a8c4c11641e0c2f", "sha256": "25b310786548bb887e6057429658fc7e99335a59c81e4b703ba543833926fc6c" }, "downloads": -1, "filename": "django_we-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b42571fbd0154174a8c4c11641e0c2f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11812, "upload_time": "2018-06-08T10:00:49", "url": "https://files.pythonhosted.org/packages/48/47/20ceed0667f8466539a01599983417aca71e9abcef2a51aef50429c77af0/django_we-1.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20b7077dfa652e6f972331b1cbe4ccc5", "sha256": "53efc89eccb6e1202ca7d2b1931aa09e37544db18a4119a5148e296e3bdc5825" }, "downloads": -1, "filename": "django-we-1.4.2.tar.gz", "has_sig": false, "md5_digest": "20b7077dfa652e6f972331b1cbe4ccc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9240, "upload_time": "2018-06-08T10:00:50", "url": "https://files.pythonhosted.org/packages/e6/6e/9336585d7dd64ff5ea6061452905325b8517a47e6b8ef7f5defd62dbece5/django-we-1.4.2.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "6ea059dd1121c0ccf17f50b19bf1c323", "sha256": "4652ff03086bf8ed6be7f68c56a4d83a1ea059664da49e4204ce6bf220d7b3be" }, "downloads": -1, "filename": "django_we-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ea059dd1121c0ccf17f50b19bf1c323", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13741, "upload_time": "2019-08-19T08:43:53", "url": "https://files.pythonhosted.org/packages/70/ea/6c0b1c6e81cc075293e64bf8007bd04bab4ecd54bb1f705a23b66f955dfe/django_we-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "255d27ef6656d749c25f086723d9c6db", "sha256": "883f716f8000b7781a3646eca66f09bebef3a40ee54d4d23e820efa432e8afea" }, "downloads": -1, "filename": "django-we-1.5.0.tar.gz", "has_sig": false, "md5_digest": "255d27ef6656d749c25f086723d9c6db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10460, "upload_time": "2019-08-19T08:43:55", "url": "https://files.pythonhosted.org/packages/ed/c8/df8183a66e2c0c5be45ea51436da70c500a9043bbbd8ddbae2ff00207637/django-we-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "30aaefb2a6f7d9039d4f882b6d6f6ae3", "sha256": "2e74b289affc3f3087836ed753bd95e574b4041092606347e946d82c889d2126" }, "downloads": -1, "filename": "django_we-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30aaefb2a6f7d9039d4f882b6d6f6ae3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14375, "upload_time": "2019-08-20T04:22:18", "url": "https://files.pythonhosted.org/packages/e7/ac/2017de4826d94c5968ac1dc22570a5a964cba541fd0f1b065bd356be3b77/django_we-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4f452747ac88df220e155817a6fdb4d", "sha256": "49a8f518a021bf6867c9174da1831041be62ba968cdf0f7a48f1e3295831b4eb" }, "downloads": -1, "filename": "django-we-1.5.1.tar.gz", "has_sig": false, "md5_digest": "e4f452747ac88df220e155817a6fdb4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10662, "upload_time": "2019-08-20T04:22:21", "url": "https://files.pythonhosted.org/packages/23/b7/2a310f7c5f2812e248c26ffc792d23596be83f497caec5b23e50702fb922/django-we-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "a2ef36dc2252312fde42de860d027272", "sha256": "85334839f88d183004cf7a38211e9e36417bb64d2f873fff86d60d2458946ab9" }, "downloads": -1, "filename": "django_we-1.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a2ef36dc2252312fde42de860d027272", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14380, "upload_time": "2019-08-27T10:32:16", "url": "https://files.pythonhosted.org/packages/d0/20/1f6f3dc58e83410ffa3acee4ab6d66d26d0d7028e6d659debdb370af1e5d/django_we-1.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "204f4a2604bf6b353d48fb3dd6029a70", "sha256": "6280db804cdac989c4ff446096f4ad1ad209d9bfde40d51c2e94f614070987f4" }, "downloads": -1, "filename": "django-we-1.5.2.tar.gz", "has_sig": false, "md5_digest": "204f4a2604bf6b353d48fb3dd6029a70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10680, "upload_time": "2019-08-27T10:32:18", "url": "https://files.pythonhosted.org/packages/c7/07/6917b5032de7d7fe533b2acdc1b887772047ea1cc655ddf73d99b853bd7f/django-we-1.5.2.tar.gz" } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "6bfa8fd9a65f7b06bef81412864bf1a9", "sha256": "39788dbc327030ec7c0128c460fc83312a6baf1c3a96ee836e9b815390030e73" }, "downloads": -1, "filename": "django_we-1.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6bfa8fd9a65f7b06bef81412864bf1a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14386, "upload_time": "2019-08-29T03:57:52", "url": "https://files.pythonhosted.org/packages/9a/2c/c3e0927b97b58c383722e43301d54be229c13fa73493177f70a80d4640df/django_we-1.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d096ddf84a90b419cc2c53376a3520e", "sha256": "b9988faa7d444e153a0083b9ab5bd8f29dac3ae1bef7a7cb5a9c67c98331d7b1" }, "downloads": -1, "filename": "django-we-1.5.3.tar.gz", "has_sig": false, "md5_digest": "5d096ddf84a90b419cc2c53376a3520e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10699, "upload_time": "2019-08-29T03:57:54", "url": "https://files.pythonhosted.org/packages/dc/7b/0d86cc116444b91523f60892481cc20989dcd12ae2f8880955283c704b5b/django-we-1.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6bfa8fd9a65f7b06bef81412864bf1a9", "sha256": "39788dbc327030ec7c0128c460fc83312a6baf1c3a96ee836e9b815390030e73" }, "downloads": -1, "filename": "django_we-1.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6bfa8fd9a65f7b06bef81412864bf1a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14386, "upload_time": "2019-08-29T03:57:52", "url": "https://files.pythonhosted.org/packages/9a/2c/c3e0927b97b58c383722e43301d54be229c13fa73493177f70a80d4640df/django_we-1.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d096ddf84a90b419cc2c53376a3520e", "sha256": "b9988faa7d444e153a0083b9ab5bd8f29dac3ae1bef7a7cb5a9c67c98331d7b1" }, "downloads": -1, "filename": "django-we-1.5.3.tar.gz", "has_sig": false, "md5_digest": "5d096ddf84a90b419cc2c53376a3520e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10699, "upload_time": "2019-08-29T03:57:54", "url": "https://files.pythonhosted.org/packages/dc/7b/0d86cc116444b91523f60892481cc20989dcd12ae2f8880955283c704b5b/django-we-1.5.3.tar.gz" } ] }