2015-09-25 28 views
0

這只是一個學術問題。我不打算這樣做的生產,但你可以在你的url.py文件中的URL路徑上方放一個視圖函數?喜歡的東西:你可以在你的URLS.py文件中有查看功能

from django.conf.urls import patterns, include, url 
from django.http import HttpResponse 

def hello_world(request): 
    return HttpResponse("Hello World!") 

urlpatterns = patterns('', 
    url(r'^$', 'hello_world'), 
) 
+0

是............ – RickyA

+0

是的,你可以。你也可以將它寫成lamda函數的url參數例如:url(r'^ $',lambda hello_world:HttpResponse(「Hello World!」)) – Conans

+0

有趣的是你應該提到這一點。這是非常類似於我的最後一個問題(有什麼機會)> http://stackoverflow.com/questions/31538793/outputing-text-from-urls-py-in-django – Sevenearths

回答

3

是,視圖可以在你的網址文件,雖然我不會推薦它作爲一種方式來組織你的Django項目。

但是,在url()中,您應該使用視圖本身,而不是字符串。

urlpatterns = [ 
    url(r'^$', hello_world), 
] 

提供字符串視圖參數例如​​已在Django 1.8中棄用,並在Django 1.10中刪除。

view參數可以是任何可調用的,你甚至可以使用lambda函數(我再次不會推薦它)。

urlpatterns = [ 
    url(r'^$', lambda req: HttpResponse("Hello World"), 
] 
+0

謝謝。我應該想到測試它沒有引號(doh!) – Sevenearths

相關問題