我正在爲Django應用程序的管理網站實施幫助系統。幫助文本在名爲admin-help的單獨應用程序中作爲模型對象實現。管理網站使用Grappelli
。Django幫助系統的URL問題
設置如下。
在我的主要urls.py
我:
(r'^admin-help/', include('admin-help.urls')),
此默認admin
URL和Grappelli
網址前的位置。
在urls.py
爲admin-help
應用程序我有:
urlpatterns = patterns('',
...
url(r'^admin-help/list-modelXYZ', 'admin-help.views.list-modelXYZ'),
...
)
我的計劃是去拉的幫助頁面中通過AJAX從管理頁面調用。所以,我修改了一個特定的管理模板,包括一個具有onclick
句柄調用傳遞一個專題一個JavaScript函數的幫助按鈕:
<li>
<a href="#" onclick="showHelp('list_modelXYZ')" class="grp-state-focus">Help</a>
</li>
的showHelp()
函數執行AJAX調用傳遞請求的主題作爲請求的一部分網址:
function showHelp(topic) {
grp.jQuery.ajax({
type: 'GET',
url: '/admin-help/' + topic,
success: function(html) {
grp.jQuery('#help-content-area').html(html);
grp.jQuery('#help-frame').show();
}
});
}
在管理員的幫助應用程序,我有我的views.py
:
def list_modelXYZ():
return HttpResponse("Hello world!")
當我點擊幫助按鈕,我得到一個404與以下網址:
http://localhost:8080/admin-help/list_modelXYZ
爲什麼我會得到一個404呢?我不是一個Django的絕地,希望有人能指出我的錯誤......
是的,謝謝你。愚蠢的錯別字: - 我糾正他們,但仍然得到404 ... – Roger 2013-02-21 13:47:35
@Roger檢查您的主urls.py,它已經包含'^ admin-help'。但在sub urls.py中有另一個'^ admin-help' ... – okm 2013-02-21 16:11:27