2012-02-29 54 views
4

我想通過運行Django使用manage.py runserver ip:port作爲非root用戶在我的Linux機器中編寫程序。我的第一個目標是,如果用戶在瀏覽器http://ip:port中輸入一個URL,它應該顯示一些東西或一個歡迎的內容。我的第一個Python Web應用程序

所以我修改的mysite/url.py是這樣的:

urlpatterns = patterns('', 
    ('', ''), 
    (r'^admin/', include(admin.site.urls)), 
) 

蟒蛇manage.py runserver命令:運行和啓動正常,但在瀏覽器中,我得到以下異常:

異常類型:ImproperlyConfigured 異常值:空URL模式視圖名稱不允許(用於模式「」)

那麼,怎樣才能構建URL只是想:

www.google.com 
www.mail.yahoo.com 
www.mysite.com 

在此先感謝

+0

你知道第二個元組元素的含義嗎? – 2012-02-29 20:08:10

回答

4

空的模式會匹配任何東西,所以你應該是它錨定到全空字符串。第二個元組參數也必須是視圖名稱。

在URLconf:

urlpatterns = patterns('', 
    (r'^$', 'views.home'),  # ^$ means, beginning of string followed by end of string, in other words match on exactly empty string and nothing else 
    (r'^admin/', include(admin.site.urls)), 
) 

在同一目錄下的views.py

from django.http import HttpResponse 

def home(request): 
    return HttpResponse('Hello World') 
+0

@Prakash哇。我完全誤解了這個問題。 – Edwin 2012-02-29 20:22:44

+0

@Edwin:問題不明確,你的回答完全有效(我給它+1)。我只是通過查看URLconf的問題來回答這個問題,我想這恰好是OP想要的:-) – 2012-02-29 20:37:34

3

除非你願意靜下心來,基本事實和配置,運行和主機您自己的Apache服務器(或其他服務器配置)註冊域名,您CAN NOT從Python/Django中更改域名。

Django只處理域名後的所有內容,如/home/部分URL http://www.mysite.com/home/

如果你願意,Django book有一個不錯的section on deploying Django並設置服務器來運行它,但它不包括所有的基地。

相關問題