2012-03-12 135 views
0

我在使用"django-lazysignup 0.8"和Django 1.3。django-lazysignup allow_lazy_user裝飾器調用兩次包裝視圖?

當我這樣做:

視圖

@allow_lazy_user 
def page_edit(request): 
if request.method == 'GET': 
    if is_lazy_user(request.user): 
     b2 = Page.objects.create(user=request.user) 
     print request.user.username 
     return render_to_response('page_editor.html',{'page':b2}) 

控制檯輸出顯示的觀點似乎被調用兩次(B2調用了兩次,並創建頁面對象兩次,並打印statment打印兩次)

這裏是輸出屏幕:

輸出:

7707089a583a424caf0face130cb20 # this is the reult of print request.user.username 
[12/Mar/2012 15:02:45] "GET /edit/ HTTP/1.1" 200 8368 
7707089a583a424caf0face130cb20 
[12/Mar/2012 15:02:46] "GET /edit/images/favicon.ico HTTP/1.1" 200 8368 

我不需要發生這種情況,應該調用一次視圖並創建一個Page對象。有沒有解決方法?

回答

1

我不認爲這與Django-lazysignup有關。

如果你看的URL第二個請求:

/edit/images/favicon.ico 

這看起來對我來說,你的瀏覽器試圖加載圖標爲您的網站。這表明你已經使用了相對路徑images/favicon.ico而不是絕對路徑/images/favicon.ico

它似乎並不完全正確的圖標的網址已被稱爲page_edit視圖。這表明你的url模式缺少一個$來表示字符串的結尾。您應該將其更改爲:

url('^edit/$', 'page_edit'),