用于开发vk.com(aka vkontakte.ru)iframe应用程序的django应用程序
django-vkontakte-iframe的Python项目详细描述
Django应用程序,用于开发vk.com(aka vkontakte.ru largest, 俄罗斯社交网络)iframe应用。
处理用户身份验证和注册。
安装
$ pip install django-vkontakte-iframe
要求
- Django讨厌AutoonetooneField
可选:
- 对于request.vk_api和对于 通过管理操作填充城市和国家信息。
用法
在此处注册并配置vkontakte iframe应用程序: http://vkontakte.ru/apps.php?act=add
将应用程序的设置添加到settings.py:
VK_APP_ID = '1234567' # Application ID VK_APP_KEY = 'M1gytuHwni' # Application key VK_APP_SECRET = 'MiRFwrDYwcYFCTD18EcY' # Secure key
将“vk_iframe”添加到INSTALLED_APPS。
将“vk\u iframe.backends.vkontaktuesserbackend”添加到身份验证后端:
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'vk_iframe.backends.VkontakteUserBackend', )
放置“vk_iframe.middleware.authenticationmiddleware”, 'vk_iframe.middleware.iframefixmiddleware'和 'vk_iframe.middleware.loginRequiredMiddleware'到中间件类:
MIDDLEWARE_CLASSES = [ # ... 'django.contrib.auth.middleware.AuthenticationMiddleware', # ... 'vk_iframe.middleware.IFrameFixMiddleware', 'vk_iframe.middleware.AuthenticationMiddleware', # ... 'django.middleware.locale.LocaleMiddleware', # ... 'vk_iframe.middleware.LoginRequiredMiddleware', ]
请注意'vk_iframe.middleware.authenticationmiddleware'必须是 在“django.contrib.auth.middleware.authenticationmiddleware”之后但在 'django.middleware.locale.localemidleware'。
'vk_iframe.middleware.loginRequiredMiddleware'必须在之后 'vk_iframe.middleware.authenticationmiddleware'。
Vkontakte访客将自动注册并授权为Django 用户(username==vkontakte用户id)。
LoginRequiredMiddleware是可选的。所有未经授权的返回403 具有未在settings.public\u url中列出的url的请求。你应该 出于安全原因启用它。公共URL示例:
PUBLIC_URLS = [ '^admin/$', '^my-callback/', ]
如果使用i18n,则vkontakte用户的语言将用作django的 用户语言。
运行python ./manage.py syncdb(或python ./manage.py migrate vk_iframe如果 使用南部)
可选:加载初始地理数据(城市和国家):
python manage loaddata vk-geo
如果要存储更多用户数据,请将以下行设置为 “首次API申请”(“第二次API”)选项(在您的应用程序中编辑 页面位于vkontakte.ru):
method=getProfiles&uids={viewer_id}&format=json&v=3.0&fields=uid,first_name,last_name,nickname,domain,sex,bdate,city,country,timezone,photo,photo_medium,photo_big,photo_rec,has_mobile,rate,contacts,education
对于IE:根据站点隐私策略调整p3p策略头值 通过在设置中提供vk_p3p_策略选项。py:
VK_P3P_POLICY = 'IDC DSP COR IVAi IVDi OUR TST'
默认值为“idc dsp cor adm devi taii psd ivai ivdi coni his our ind cnt”。 有关完整的标记集,请参见http://www.p3pwriter.com/LRN_111.asp。
就这些。您的应用程序的所有访问者现在都已注册并通过身份验证 Django用户。其他配置文件数据作为user.vk_配置文件提供。 vkontakte.API实例可用作request.vk_api,如果存在 可用的访问令牌。
更改
0.4.1(2013-03-07)
-
DJango 1.5支持(感谢Maxm Syabro)。
0.4(2012-11-10)
- request.vk_api与vkontakte.API实例(感谢anton smirnov);
- forms.py中attributeerror的解决方法(感谢evgeniy kirov);
- 改进的Safari Cookie修复(感谢Domantas Jack_nas);
- 如果未设置用户代理,iframefixmiddleware现在可以工作(感谢evgeniy kirov)。
0.3(2011-11-28)
- 身份验证后端已修复(感谢evgeniy kirov和http://habrahabr.ru/users/Zaharov/);
- 改进的自述文件;
- IE修复:添加P3P策略标题(感谢Maxm Syabro的建议);
- Opera和Safari Cookies修复(感谢Evgeniy Kirov);
- 可选的openapi授权(感谢evgeniy kirov)。
0.2(2010-10-30)
- vkontakte用户语言与django i18n集成。谢谢vasyl nakvasiuk。
- 固定innodb fixture加载错误。
0.1.1(2010-10-09)
错误修复:如果用户语言未知,则不允许登录。 完整的Vkontakte语言列表。谢谢Vasyl Nakvasiuk。
0.1(2010-09-06)
第一个版本