私は Django を初めて使用し、今書いたコード (以下) のベスト プラクティスを探しています。コードは現在 my view.py に存在し、新しいイベントを作成するだけです。他の言語に慣れ親しんでいると、私の言いたいことがわかっていても、「臭い」だけです。誰かがこの単純なタスクをどのように行うかを指摘できますか.
私のコードをもう一度見て(そしてドキュメントをもう少し読んで)唯一のことは、request.userをmodels.py保存関数に移動することです。
以下の初心者の大きな間違いは他にありますか?
@login_required
def event_new(request):
# If we had a POST then get the request post values.
if request.method == 'POST':
form = EventForm(request.POST)
# Check we have valid data
if form.is_valid():
# If form has passed all validation checks then continue to save it.
city = City.objects.get(name=form.cleaned_data['autocompleteCity'])
category = form.cleaned_data['category']
event = Event(
name=form.cleaned_data['name'],
details=form.cleaned_data['details'],
date=form.cleaned_data['date'],
start=form.cleaned_data['start'],
end=form.cleaned_data['end'],
category=category,
city=city,
user=request.user,
)
event.save()
messages.add_message(request, messages.SUCCESS, 'Event has been created.')
return HttpResponseRedirect('/events/invite/')
else:
messages.add_message(request, messages.ERROR, 'Error')
context = {'form': form}
return render_to_response('events/event_edit.html', context, context_instance=RequestContext(request))
else:
form = EventForm
context = {'form': form}
return render_to_response('events/event_edit.html', context, context_instance=RequestContext(request))