在Django中,如何知道当前登录的用户? [英] In Django, how do I know the currently logged-in user?
本文介绍了在Django中,如何知道当前登录的用户?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Django中,我如何知道当前登录的用户?
In Django, how do I know the currently logged-in user?
推荐答案
您需要知道用户?
在视图 ,请求中的用户以 request.user
的形式提供。
对于模板中的用户处理,请参阅这里
如果要保存模型实例的创建者或编辑者,可以执行以下操作:
If you want to save the creator or editor of a model's instance you can do something like:
model.py
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)
admin.py
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()
我在互联网上找到了,但是不知道哪里了。
I found this on the Internet, but I don't know where anymore
这篇关于在Django中,如何知道当前登录的用户?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文