Django与WordPress身份验证和角色/功能系统集成。
django-wordpress-auth的Python项目详细描述
简介
允许在django中访问wordpress安装以检查 例如登录状态和角色/功能。
安装
将WordPress的验证密钥和盐(可在wp config.php中找到)添加到settings.py中。
WORDPRESS_LOGGED_IN_KEY="rs&^D%jPdu=vk|VVDsdfsdgsdgsdg9sd87f98s7h[Xm$3gT/@1xdasd"WORDPRESS_LOGGED_IN_SALT="3]x^n{d8=su23902iu09jdc09asjd09asjd09jasdV-Lv-OydAQ%?~"
将WordPress数据库添加到settings.py中的数据库。
DATABASES={'default':{...# default django DB},'wordpress':{# must be named 'wordpress''ENGINE':'django.db.backends.mysql','NAME':'wordpress','USER':'...','PASSWORD':'...','HOST':'...','PORT':3306,}}
将中间件添加到settings.py中的中间件类。 确保它放在会话中间件之后。
MIDDLEWARE_CLASSES=('django.contrib.sessions.middleware.SessionMiddleware',# ...'wordpress_auth.middleware.WordPressAuthMiddleware',)
最后,将wordpress\u auth添加到已安装的应用程序中。
INSTALLED_APPS=(# ...'wordpress_auth',)
用法
若要将视图限制为特定角色,只需将视图包装在 wordpress_requires_role装饰器。
fromwordpress_auth.decoratorsimportwordpress_requires_role@wordpress_requires_role('my_role')defmy_view():pass
也可以将视图限制为某个功能。
fromwordpress_auth.decoratorsimportwordpress_requires_capability@wordpress_requires_capability('my_capability')defmy_view():pass
最后,中间件通过request.wordpress_user提供对wordpress用户的访问。
请参阅models.py以获取完整的参考。一些冗余的命名约定 在wordpress数据库中也变得更简单了。