後,我有,看起來像一個Django視圖...Django的視圖函數的代碼運行回報
def add_user(request): if User.objects.get(username__exact = request.POST['username']): context = { 'message': "Username already taken"} return render_to_response("mytemplate.html", context, RequestContext(request)) newUser = User(username="freeandclearusername") newUser.save() #then other code that is related to setting up a new user.
是關係到如果初始條件語句失敗,並設置甚至是猶然用戶的其他代碼「返回render_to_response()」被調用。
使用正確的上下文呈現頁面,但在初始返回後將其他信息添加到數據庫。我認爲「return render_to_response()」之後的代碼不會運行。
任何人都可以證實或解釋這個?
UPDATE ....
好了,所以如果我添加一個條件....
def add_user(request):
if User.objects.get(username__exact = request.POST['username']):
bad_user = True
context = { 'message': "Username already taken"}
return render_to_response("mytemplate.html", context, RequestContext(request))
newUser = User(username="freeandclearusername")
newUser.save()
if bad_user != True:
#then other code that is related to setting up a new user.
context = { 'message': "Username is great!!!!!"}
return render_to_response("mytemplate.html", context, RequestContext(request))
此行爲與預期相同。此外,如果我刪除RequestConext(),它似乎也正確行事。
任何想法?我認爲問題在於我如何使用RequestContext。
通常需要的RequestContext作爲關鍵字的說法,叫做 「context_instance」,即 選擇render_to_response( 「mytemplate.html」,背景,context_instance = RequestContext的(要求)) 但我不馬上看到,將如何影響你的代碼執行... – 2009-09-24 21:57:07