Python 更改站点URL后未找到Django应用程序请求

Python 更改站点URL后未找到Django应用程序请求,python,django,django-urls,Python,Django,Django Urls,我有一个网页,在启动时执行异步请求以获取JSON文件: controller.js $.ajax( { url: '/get_lines/', data_type: 'json', success: function(data) { fillLinesMenu(JSON.parse(data)) $("#form-lines option:eq(1)&quo

我有一个网页,在启动时执行异步请求以获取JSON文件:

controller.js

$.ajax(    
    {
        url: '/get_lines/',
        data_type: 'json',
        success: function(data) 
        {
            fillLinesMenu(JSON.parse(data))
            $("#form-lines option:eq(1)").attr("selected","selected");
            $("#form-lines").selectmenu("refresh")
        }
    }
)
project/field\u plot/url.py

urlpatterns = [
    url(r'^get_lines/$', views.get_lines, name='get_lines'),
    url(r'^get_plot/$', views.get_plot, name='get_plot'),
    url(r'', views.index, name='index'),
]
urlpatterns = [
    path('admin/', admin.site.urls),
    path('sky_map/', include('sky_map.urls')),
    path('', include('field_plot.urls')),
]
urlpatterns = [
    path('admin/', admin.site.urls),
    path('sky_map/', include('sky_map.urls')),
    path('field_plot/', include('field_plot.urls')),
]
project/url.py

urlpatterns = [
    url(r'^get_lines/$', views.get_lines, name='get_lines'),
    url(r'^get_plot/$', views.get_plot, name='get_plot'),
    url(r'', views.index, name='index'),
]
urlpatterns = [
    path('admin/', admin.site.urls),
    path('sky_map/', include('sky_map.urls')),
    path('', include('field_plot.urls')),
]
urlpatterns = [
    path('admin/', admin.site.urls),
    path('sky_map/', include('sky_map.urls')),
    path('field_plot/', include('field_plot.urls')),
]
这已经很好地工作了一段时间。如您所见,我一直在处理
字段_plot
——因此是空url,以简化页面加载——但现在我需要将此应用分配给其特定的项目级url:

project/url.py

urlpatterns = [
    url(r'^get_lines/$', views.get_lines, name='get_lines'),
    url(r'^get_plot/$', views.get_plot, name='get_plot'),
    url(r'', views.index, name='index'),
]
urlpatterns = [
    path('admin/', admin.site.urls),
    path('sky_map/', include('sky_map.urls')),
    path('', include('field_plot.urls')),
]
urlpatterns = [
    path('admin/', admin.site.urls),
    path('sky_map/', include('sky_map.urls')),
    path('field_plot/', include('field_plot.urls')),
]

现在我需要加载
http://localhost:8000/field_plot/
,正如预测的那样,但是更改最后一条路径会中断我用于AJAX请求的
/get\u line/
和其他URL。我缺少什么?

在javascript请求中使用url名称

$.ajax(
{
url:“{%url'获取\u行'%}”,
数据类型:“json”,
成功:功能(数据)
{
fillLinesMenu(JSON.parse(数据))
$(“#表格行选项:等式(1)”).attr(“选定”、“选定”);
$(“#表格行”)。选择菜单(“刷新”)
}
}
)

在javascript请求中使用url名称

$.ajax(
{
url:“{%url'获取\u行'%}”,
数据类型:“json”,
成功:功能(数据)
{
fillLinesMenu(JSON.parse(数据))
$(“#表格行选项:等式(1)”).attr(“选定”、“选定”);
$(“#表格行”)。选择菜单(“刷新”)
}
}
)

您的url已从
/get\u lines/
更改为
/field\u plot/get\u lines/
。将javascript中的url与Django一起使用的最佳方法是将模板中某个地方的url呈现为属性,并使用javascript获取该属性

在模板中的某个地方(理想情况下,这将是一些按钮或将触发ajax请求的东西,出于示例的考虑,我将使用带有id的div):


您的url已从
/get\u lines/
更改为
/field\u plot/get\u lines/
。将javascript中的url与Django一起使用的最佳方法是将模板中某个地方的url呈现为属性,并使用javascript获取该属性

在模板中的某个地方(理想情况下,这将是一些按钮或将触发ajax请求的东西,出于示例的考虑,我将使用带有id的div):


这回答了你的问题吗?这回答了你的问题吗?可悲的是,它似乎不起作用。。。控制台显示以下内容:
[26/Mar/2021 18:15:45]“GET/field\u plot/%7B%%20url%20'GET\u行“%20%%7D HTTP/1.1”200 9233
Hmm。。。似乎URL现在与最后一个路径匹配,这让我得到了页面的HTML。遗憾的是,它似乎不起作用。。。控制台显示以下内容:
[26/Mar/2021 18:15:45]“GET/field\u plot/%7B%%20url%20'GET\u行“%20%%7D HTTP/1.1”200 9233
Hmm。。。似乎URL现在与最后一条路径匹配,这让我得到了页面的HTML。这很有效,谢谢!!!但有没有更干净的解决方案?为什么我不能在适当的位置呈现URL(例如,不声明单独的div)?因为JavaScript在另一个文件中(而不是直接在模板中)。事实上,我相信这是一个比直接用JavaScript呈现更干净的解决方案。(一个写另一个脚本的脚本?恶意黑客进行XSS攻击的空间很大)很有效,谢谢!!!但有没有更干净的解决方案?为什么我不能在适当的位置呈现URL(例如,不声明单独的div)?因为JavaScript在另一个文件中(而不是直接在模板中)。事实上,我相信这是一个比直接用JavaScript呈现更干净的解决方案。(编写另一个脚本的脚本?恶意黑客进行XSS攻击的范围很大)