2013-07-22 29 views
0

我從我的Django的服務器得到一個404,即使它知道我的視圖代碼。如果我故意拼錯的視圖函數的名稱,Django的抱怨,所以我知道這是找對了地方,它知道這個功能的。Django的1.2將無法運行我的看法

urls.py入口看起來像這樣

url(r"^pdfgen/$", 'apps.pdfgen.views.pdfgen'), 

而且我認爲的代碼是這樣

def pdfgen(request): 
    html = "<html><body>This is a test.</body></html>" 
    return HttpResponse(html) 

那麼,爲什麼是Django 404's當我訪問localhost:xxxx/pdfgen/

+0

其not'localhost.com'而只是'本地主機:8000/pdfgen /'(你所需要的最後的斜線) –

+0

@BurhanKhalid:當你很可能是關於本地主機vs本地主機.com的權限,但肯定沒有任何東西阻止某人將指向localhost.com的主機記錄添加到127.0.0.1。 – sberry

+0

真實的,但我懷疑這裏的情況,除了'localhost.com'已經是一個註冊的域名。 –

回答

1

如果我故意拼錯的視圖函數的名稱,Django的抱怨,所以我知道這是找對了地方,它知道這個功能的。

這並不意味着您的請求正在打到正確的視圖 - 這意味着當您包含不存在的視圖時,Django無法加載您的url conf。爲了確保Django正在運行您認爲的視圖,您需要向視圖添加一些日誌記錄或打印語句,或者在其中引發異常。

更新您的問題,包括你的所有URL模式。您的請求可能匹配視圖進一步上漲,這是返回404

+0

感謝您的信息。這是我正在使用的現有代碼庫,而urls.py文件非常龐大。除此之外,還有許多子目錄,其中有更多的urls.py文件。有什麼特別的我應該尋找? – Mustack

+0

非常感謝!我決定將我的入口移到頂端,現在它可以工作。似乎有一個通配符url來捕獲之前未指定的任何內容,並且我的網址在之後發佈。 – Mustack