用于开发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和对于 通过管理操作填充城市和国家信息。

用法

  1. 在此处注册并配置vkontakte iframe应用程序: http://vkontakte.ru/apps.php?act=add

  2. 将应用程序的设置添加到settings.py:

    VK_APP_ID = '1234567'                   # Application ID
    VK_APP_KEY = 'M1gytuHwni'               # Application key
    VK_APP_SECRET = 'MiRFwrDYwcYFCTD18EcY'  # Secure key
    
  3. 将“vk_iframe”添加到INSTALLED_APPS

  4. 将“vk\u iframe.backends.vkontaktuesserbackend”添加到身份验证后端:

    AUTHENTICATION_BACKENDS = (
        'django.contrib.auth.backends.ModelBackend',
        'vk_iframe.backends.VkontakteUserBackend',
    )
    
  5. 放置“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的 用户语言。

  6. 运行python ./manage.py syncdb(或python ./manage.py migrate vk_iframe如果 使用南部)

  7. 可选:加载初始地理数据(城市和国家):

    python manage loaddata vk-geo
    
  8. 如果要存储更多用户数据,请将以下行设置为 “首次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
    
  9. 对于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

  10. 就这些。您的应用程序的所有访问者现在都已注册并通过身份验证 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_apivkontakte.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)

第一个版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java jgrapht SimpleDirectedWeightedGraph规范化权重   java安卓使用CFB   java如何从javaclass警告浏览器?可能吗?   javagson结构难点   java使用jbossclient的最佳方式是什么。Wildfly 10应用程序中的jar?   JAVA:socket重写以使用CipherInputStream和CipherOutputStream   java Android UI测试长时间点击并拖动   java如何在Android中重置AtomicInteger唯一Id?   多线程客户端/服务器应用程序上的java客户端断开连接   GAE Memcache中的java损坏值   java如何使用变量作为资源的路径?   爪哇?(三向)操作员