フォームでログインユーザのidを渡す時に詰まったのでメモ
#前提
Djangoのバージョンは1.10。
ログインユーザのサインインやログイン等については以下を参考に実装。
Djangoがデフォルトで用意しているdjango.contrib.auth.models、django.contrib.auth.viewsを利用している。
http://qiita.com/maueki/items/d28fd2a170d42e745376
http://nwpct1.hatenablog.com/entry/django-oauth-twitter-facebook-github
#ビューにログインユーザの情報を渡す方法
ここでは例としてログインユーザのidを渡す
views.py
...
from django.contrib.auth.models import User
...
def test(request):
login_user_id = request.user.id
...
以下はPOSTでテンプレートから受け渡された情報と同時にログインユーザのIDをsaveする一例。
views.py
...
from django.contrib.auth.models import User
...
def test(request):
if request.method == 'POST':
form = TestForm(request.POST)
if form.is_valid():
test = form.save(commit=False)
test.user_id = request.user.id
test.save()
return redirect('apps:templates')
else:
form = TestForm()
たったこれだけだが、めちゃくちゃ時間がかかってしまった…