主视图或使用应用程序视图的url模式

2024-09-30 00:39:16 发布

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

我一直在读有关网址,但我似乎找不到一个类似的我正在努力做的。我有一个叫profile的应用程序视图.py在这个应用程序中,查询数据库并返回特定于用户的内容-我使用过滤器将数据库内容汇总到任何用户登录的内容。在我的“主页”,我想有一个数据库的所有用户的摘要。你知道吗

因此,profile应用程序中使用的URL如下所示:

url(r'^profile/$', 'profile.views.profile', name='profile'),
url(r'^profile/usrDash$', 'profile.views.usrDash')

第一个页面呈现“profile page”,第二个页面由ajax调用用来发送一些特定于用户的信息,而这些信息又被用于制定查询。很好,没问题。你知道吗

所以,如果我想在“主页”上显示相同的信息,使用相同的查询,会怎么样?我该怎么做?不完全是我想做的,但如果我能把这个工作,我可以适应它以后。我试过:

url(r'^home/usrDash$', 'profile.views.usrDash')

但是ajax似乎不喜欢它。没有错误信息,只是没有发布任何内容。你知道吗

我也试着写另一个观点主页.views.py,但我似乎找不到正确的网址。因为“主页”的url模式是:

url(r'^$', 'home.views.home', name='home')

查询的url不在主页.views.pybe公司:

url(r'^/usrDash$', 'home.views.usrDash')

有问题的ajax调用如下所示:

$.ajax({
          method: "POST",
          url: "profile/usrDash",
          dataType: "json",
          data: {
            csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value,
            someVariable: someVariable,                         
           },
          success: function(Data) {                             
            ...
            ...             
          },
          error: function() {
            ...
            }
        });

因此,来自“home”的ajax调用是在“profile”中使用的ajax调用的副本,修改后添加profile/。但这也不管用。你知道吗

事先谢谢你的帮助。你知道吗

敬礼。你知道吗


Tags: 用户namepy信息数据库应用程序url内容
2条回答

看起来你有两个应用程序,一个叫做“profile”,另一个叫做“home”。如果我理解正确的话,您希望通过纵断面图.views.usrDash“获取主页信息。你知道吗

那么,为什么不直接向'/profile/usrDash'发出ajax请求呢?为什么要将不同的URL模式与usrDash视图相关联?你知道吗

您提供的试图重用usrDash视图的代码的路径不正确。应该纵断面图.views.usrDash

结果发现我的代码有两个问题。首先是将csrf令牌传递给ajax的方式。在我的个人资料应用程序中:

csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value,

但在家庭应用程序中不起作用。我不知道为什么。它在一个应用程序中工作,而不是在另一个应用程序中。我们所做的工作是:

csrfmiddlewaretoken: '{{ csrf_token }}',

我在这个帖子上找到了这个答案:

csrf token issue with multiple templates

第二个问题是url,一旦csrf令牌问题得到解决,就很容易诊断。最后的url很简单:

url(r'^usrDash$', 'profile.views.usrDash')

不需要领导。你知道吗

感谢ArbyA花时间查看我的代码,感谢doniyor对上面链接的帖子的回复帮助我最终实现了这一目标。你知道吗

敬礼。你知道吗

相关问题 更多 >

    热门问题