我對Django相當新,在這裏我需要幫助獲取這個「表單」來獲取當前登錄用戶的用戶ID。我可以將此Django表單設爲作者嗎?
這裏是我的forms.py:
from django import forms
from models import Entry
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
fields = ('title', 'body', 'thumbnail')
我找不到對這種形式實現的任何文件,具體怎麼了「田」變量作品。
我可以通過添加筆者喜歡這個有些得到這個工作:
fields = ('title', 'body', 'thumbnail', 'author')
這幾乎是所有我需要的,除了這隻會增加每個註冊用戶的下拉列表。
我該如何在Django中做這樣的事情?
from django import forms
from models import Entry
from django.contrib.auth.models import User
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
fields = ('title', 'body', 'thumbnail')
fields.author = request.user.username # <-- SEEMS TO NOT DO ANYTHING
或者取而代之,我怎麼能將這個代碼編入views.py?
def create(request):
if request.POST:
form = EntryForm(request.POST, request.FILES)
if form.is_valid():
form.author = request.user.id # <-- SEEMS TO NOT DO ANYTHING
form.save()
return HttpResponseRedirect('/weblog')
else:
form = EntryForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('coltrane/newpost.html', args)
優秀,完美的工作!底部的3行代碼將非常有用,因爲它對於任何其他類型的表單都是非常有用的。謝謝! – user1504605