我正在为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