为什么视图方法没有被调用?

2024-06-16 10:55:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在目录(RazorWare_web)中有一个带有urls.py的web目录,如下所示:

from RazorWare_Web.views import home

urlpatterns = patterns('',
                       url('/', home.index, name="index"),
                       url(r'^razorware/', include("RazorCRM_App.urls")),
                       url(r'^admin/', include(admin.site.urls)),
                       )

因此,在我的浏览器中,http://localhost:8000/razorware导航到home视图的index()方法。我对此有点困惑。我希望http://localhost:8000/会导航到home。相反,这会生成一个url未找到错误页面

除此之外,当我从我的HTML页面执行$.getJSON调用时,真正的问题(我怀疑它与上述内容有关)就存在了。首先,实际应用程序存在于兄弟目录RazorCRM_app下,具有以下内容:

from RazorCRM_App.views import queries

urlpatterns = [
    url(r'query_locale', queries.query_locales, name="query_locales"),
]

当我执行以下脚本时:

function query_locale_by_zip(){
    var post_code = txt_postal.val();
    $.getJSON("query_locale", {post_code: post_code}, function(result){
        console.log("[APP] query locale for: " + post_code + " [returned: " + result.success + "]")
    });
}

。。。未调用queries.query_locales方法。但是,我确实从控制台获得以下输出:

[25/Feb/2015 15:20:51] "GET /razorware/query_locale?post_code=9 HTTP/1.1" 200
[25/Feb/2015 15:20:51] "GET /razorware/query_locale?post_code=92 HTTP/1.1" 200
[25/Feb/2015 15:20:51] "GET /razorware/query_locale?post_code=920 HTTP/1.1" 200
[25/Feb/2015 15:20:52] "GET /razorware/query_locale?post_code=9205 HTTP/1.1" 200
[25/Feb/2015 15:20:52] "GET /razorware/query_locale?post_code=92058 HTTP/1.1" 200

如果有消息说找不到url,我可能会理解。但这似乎很奇怪

使用Django版本1.7.1和Python 3.4.2


Tags: 目录httpurlhomegetindexcodequery
1条回答
网友
1楼 · 发布于 2024-06-16 10:55:34

您的根url应该像url(r'^$', home.index, name="index"),您的查询区域设置url应该像url(r'^query_locale/$', queries.query_locales, name="query_locales")

url dispatcher有关于URL如何工作的广泛文档

相关问题 更多 >