我有一个对新 Django 开发人员有用的基本问题。
我在 Django 中创建了自己的 UserProfile。此用户配置文件有一个名为“类型”的特定字段。该字段可以有两个值(直到现在可能会更多):男 - M / 女 - F:
from django.contrib.auth.models import User
GENDER = (
(M, 'Male'),
(F, 'Female'),
)
class UserProfile(models.Model):
user = models.OneToOneField(User)
type = models.CharField( max_length=2,
choices=GENDER,
default='F')
基本上,我想允许访问以限制访问或根据用户类型调整页面内容。到目前为止,我使用了一种非常基本的初学者方法,即在视图中测试用户类型,然后处理页面:
def OnePage(request):
if request.user.type == 'M':
....
else if request.user.type =='F':
....
然后我还需要根据用户类型调整呈现的模板:男性用户不会拥有与女性用户相同的个人资料页面。
我确信有更好的方法可以做到这一点,但作为一个 Django 初学者,我对所有 Django 的可能性感到迷茫。因此,如果您有任何最佳实践来实现这一点,请告诉我(显然我想要一个可以在每个视图上使用的 DRY 代码!)
感谢您的帮助。