Django では、現在ログインしているユーザーをどのように確認すればよいでしょうか?
ベストアンサー1
ユーザーについてどこで知る必要があるでしょうか?
でビューユーザーはリクエスト内で として提供されますrequest.user
。
ユーザー処理用テンプレート見るここ
作成者または編集者を保存したい場合は、モデルのインスタンス次のようなことができます:
モデル.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)
管理者.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()
インターネットで見つけたのですが、どこにあるかわかりません