django-profiletools

软件截图:
django-profiletools
软件详细信息:
版本: 0.2
上传日期: 20 Feb 15
许可: 免费
人气: 17

Rating: 4.0/5 (Total Votes: 1)

Django的profiletools是一个Django应用程序,提供工具为Django的轮廓模型。
安装
获取的代码:
PIP安装Django,profiletools
安装在你的settings.py的中间件和context_processor:
TEMPLATE_CONTEXT_PROCESSORS =(
  ...
 “profiletools.context_processors.fetch_profile',

MIDDLEWARE_CLASSES =(
...
“profiletools.middleware.LazyProfileMiddleware',

此外,在settings.py,设置AUTH_PROFILE_MODULE到您的个人资料的模型:
AUTH_PROFILE_MODULE =“profiles.Profile”
在此基础上,您的个人资料的模型应该像这样的:
#profiles.models.Profile.py
从django.contrib.auth.models导入用户
从django.db进口车型
一流的个人资料(models.Model):
 用户= models.OneToOneField(用户)
 高清__unicode __(个体经营):
 回报self.user.username
注意:如果你不使用profiles.models.Profile,说members.models.UserProfile继续前进,改变AUTH_PROFILE_MODULE为“members.UserProfile”。
用法
在你的模板:
{{request.my_profile}}
在你的功能的看法:
简介= request.my_profile
在基于类的观点:
简介= self.request.my_profile
呼叫my_profile多次,只要你想,只加载一次。所以,如果你把它叫做100次视图时,SQL SELECT只是做了第一次。如果没有用户发现那么my_profile调用结果是无,这使得它更容易处理它需要能够处理未授权的用户(如约页)模板。
注意:如果您使用的是members.UserProfile例如,你需要调用使用request.my_userprofile。
与Python的问题“是”评估和“型”内置
如果您使用的是评估做别的用my_profile对象之前,它会表现得稍微出人意料的方式:
在将始终返回false。例如:
>>>打印(request.my_profile为None)

>>> P = request.user.get_profile()
>>>打印(request.my_profile为p)

此外,该类型的内置将返回一个django.utils.functional.SimpleLazyObject对象:
>>>打印(类型)
<类的django.utils.functional.SimpleLazyObject“>
记住什么是摆在my_profile值不是ModelClass实例或无对象,而是一个django.utils.functional.SimpleLazyObject。
如何评价my_profile对象
使用==评估my_profile对象。这迫使待评估的对象,并且不会返回沮丧误报。
灵感
型材的延迟加载的灵感来自于相当不可思议的诺亚坎特罗威茨

特点

你的身份验证资料记录

  • 在延迟加载跨请求对象的生命周期。这意味着在Python代码和模板。
  • 在命名你希望你的剖面模型中的任何settings.AUTH_PROFILE_MODULE。

要求

  • 在Python中
  • 在Django的

显影剂的其他软件 Daniel Greenfeld

意见 django-profiletools

评论没有发现
添加评论
打开图片!