2017-04-02 92 views
0

這是我的url.py代碼:的Django調用視圖方法兩次

urlpatterns = [ 
    url(r'^test/', views.test, name='test'), 
] 

這是我的views.py代碼:

def test(request): 

    print ("++++++++++++++++++++++++++++++++++++++++++++++++") 


    return render(request, 'my_app/index_test.html') 

這是從控制檯

Django version 1.10.6, using settings 'some_project.settings' 
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CTRL-BREAK. 
++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
[03/Apr/2017 01:24:41] "GET /test/ HTTP/1.1" 200 26814 
[03/Apr/2017 01:24:41] "GET /static/css/normalize.css HTTP/1.1" 200 8053 
[03/Apr/2017 01:24:41] "GET /static/css/bootstrap.min.css HTTP/1.1" 200 102897 
[03/Apr/2017 01:24:41] "GET /static/css/font-awesome.min.css HTTP/1.1" 200 21979 
[03/Apr/2017 01:24:41] "GET /static/css/animate.css HTTP/1.1" 200 63414 
[03/Apr/2017 01:24:41] "GET /static/css/gg_preloading.css HTTP/1.1" 200 3816 
[03/Apr/2017 01:24:41] "GET /static/css/prettyPhoto.css HTTP/1.1" 200 19888 
[03/Apr/2017 01:24:41] "GET /static/css/style.css HTTP/1.1" 200 23649 
[03/Apr/2017 01:24:41] "GET /static/js/jquery-1.10.2.min.js HTTP/1.1" 200 93107 
[03/Apr/2017 01:24:41] "GET /static/js/bootstrap.js HTTP/1.1" 200 58327 
[03/Apr/2017 01:24:41] "GET /static/js/waypoints.min.js HTTP/1.1" 200 8044 
[03/Apr/2017 01:24:41] "GET /static/js/jquery.scrollto.min.js HTTP/1.1" 200 2434 
[03/Apr/2017 01:24:41] "GET /static/js/jquery.localscroll.min.js HTTP/1.1" 200 1560 
[03/Apr/2017 01:24:41] "GET /static/js/scripts.js HTTP/1.1" 200 5183 
[03/Apr/2017 01:24:41] "GET /static/js/less.min.js HTTP/1.1" 200 143621 
[03/Apr/2017 01:24:41] "GET /static/img/empty_1.png HTTP/1.1" 200 15358 
[03/Apr/2017 01:24:41] "GET /static/img/empty_2.png HTTP/1.1" 200 15411 
[03/Apr/2017 01:24:41] "GET /static/pic/%D0%9D%D0%91_Banner-6.jpg HTTP/1.1" 200 47285 
[03/Apr/2017 01:24:41] "GET /static/pic/hotlog_counter.png HTTP/1.1" 200 1700 
[03/Apr/2017 01:24:41] "GET /static/pic/%D0%9D%D0%91_Banner-5.jpg HTTP/1.1" 200 31588 
[03/Apr/2017 01:24:41] "GET /static/pic/%D0%9D%D0%91_Banner-1.jpg HTTP/1.1" 200 33355 
[03/Apr/2017 01:24:41] "GET /static/pic/%D0%9D%D0%91_Banner-2.jpg HTTP/1.1" 200 29322 
[03/Apr/2017 01:24:41] "GET /static/pic/%D0%9D%D0%91_Banner-3.jpg HTTP/1.1" 200 24960 
[03/Apr/2017 01:24:41] "GET /static/pic/%D0%9D%D0%91_Banner-4.jpg HTTP/1.1" 200 23886 
[03/Apr/2017 01:24:42] "GET /static/less/style.less HTTP/1.1" 200 4607 
[03/Apr/2017 01:24:42] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-5.jpg HTTP/1.1" 200 129141 
[03/Apr/2017 01:24:42] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-6.jpg HTTP/1.1" 200 95125 
[03/Apr/2017 01:24:42] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-7.jpg HTTP/1.1" 200 101621 
[03/Apr/2017 01:24:42] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-4.jpg HTTP/1.1" 200 110054 
[03/Apr/2017 01:24:43] "GET /static/img/fairy_logo_large.png HTTP/1.1" 200 5794 
[03/Apr/2017 01:24:43] "GET /static/font/fontawesome-webfont.woff?v=4.2.0 HTTP/1.1" 200 65452 
[03/Apr/2017 01:24:43] "GET /static/img/fairy_bckgrnd.jpg HTTP/1.1" 200 226213 
[03/Apr/2017 01:24:43] "GET /static/img/sprite_social_element.png HTTP/1.1" 200 11187 
[03/Apr/2017 01:24:43] "GET /static/img/lang_picto.png HTTP/1.1" 200 6577 
[03/Apr/2017 01:24:43] "GET /static/img/bullet.png HTTP/1.1" 200 2828 
++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
[03/Apr/2017 01:24:43] "GET /test/images/favicon.ico HTTP/1.1" 200 26814 
[03/Apr/2017 01:24:43] "GET /static/img/fairies_features.png HTTP/1.1" 200 482983 
[03/Apr/2017 01:24:43] "GET /static/img/best.png HTTP/1.1" 200 72272 
[03/Apr/2017 01:24:43] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-11.jpg HTTP/1.1" 200 262491 
[03/Apr/2017 01:24:43] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-8.jpg HTTP/1.1" 200 255375 
[03/Apr/2017 01:24:43] "GET /static/img/video.png HTTP/1.1" 200 2672 
[03/Apr/2017 01:24:43] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-9.jpg HTTP/1.1" 200 329229 
[03/Apr/2017 01:24:43] "GET /static/pic/%D0%9D%D0%91_%D0%98%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA-10.jpg HTTP/1.1" 200 160719 

我輸出我重裝後我的網頁或只是去它, 你可以看到它打印++++++++++++++++++++++++++++++++++兩次。

我該怎麼辦?

+0

我注意到,你在加載「scripts.js中」文件在那裏。它是否像設置window.location一樣?你有讀過解決方案提出[這裏](http://stackoverflow.com/questions/4056024/why-is-my-django-view-being-hit-twice-with-every-page-view)看看裏面有什麼東西造成這種情況? –

回答

0

從日誌輸出中,我們可以看到第二個對視圖函數的調用是由URL /test/images/favicon.ico觸發的。你可能在你的模板這樣一行:

<link rel="shortcut icon" href="images/favicon.ico"> 

注意,有沒有斜線images之前,這意味着URL會爲相對於當前頁面的URL,/test/治療。你應該改變這一行以指向你的圖標的正確位置(可能類似於/static/img/favicon.ico),或者如果你沒有它,可以將其完全刪除。

URL /test/images/favicon.ico正在觸發您的查看功能,因爲 模式r'^test/'匹配所有以/test/開頭的網址。如果你想讓它符合特定URL /test/,該行應爲:

url(r'^test/$', views.test, name='test'),