在Django中,我怎么知道当前登录的用户?

Django中,我怎么知道当前登录的用户?

回答:

你需要在哪里了解用户?

在视图中,用户在请求中以形式提供request.user

有关模板中的用户处理,请参见此处

如果要保存模型实例的创建者或编辑者,则可以执行以下操作:

模型

class Article(models.Model):

created_by = models.ForeignKey(User, related_name='created_by')

created_on = models.DateTimeField(auto_now_add = True)

edited_by = models.ForeignKey(User, related_name='edited_by')

edited_on = models.DateTimeField(auto_now = True)

published = models.BooleanField(default=None)

管理员

class ArticleAdmin(admin.ModelAdmin):

fields= ('title','slug','text','category','published')

inlines = [ImagesInline]

def save_model(self, request, obj, form, change):

instance = form.save(commit=False)

if not hasattr(instance,'created_by'):

instance.created_by = request.user

instance.edited_by = request.user

instance.save()

form.save_m2m()

return instance

def save_formset(self, request, form, formset, change):

def set_user(instance):

if not instance.created_by:

instance.created_by = request.user

instance.edited_by = request.user

instance.save()

if formset.model == Article:

instances = formset.save(commit=False)

map(set_user, instances)

formset.save_m2m()

return instances

else:

return formset.save()

我在互联网上找到了,但现在不知道在哪里

以上是 在Django中,我怎么知道当前登录的用户? 的全部内容, 来源链接: utcz.com/qa/420896.html

回到顶部