在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

