Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Django中单击时使用项目详细信息更新页面_Javascript_Jquery_Python_Ajax_Django - Fatal编程技术网

Javascript 在Django中单击时使用项目详细信息更新页面

Javascript 在Django中单击时使用项目详细信息更新页面,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我是ajax新手,我知道我需要使用它来完成我正在尝试做的事情,但似乎无法理解 我有一个公司列表,当他们单击表行时,我想在页面上显示公司的详细信息。当用户单击另一行时,我希望详细信息更改为单击的新公司的详细信息 HTML: {%block content%} 你好 呼叫列表 公司名称 其他资料 {公司%%中的项目为%} {{item.CompanyName} {{item.lineof business} {%endfor%} 函数UpdatePKFunction(pk){ pk=pk $.aja

我是ajax新手,我知道我需要使用它来完成我正在尝试做的事情,但似乎无法理解

我有一个公司列表,当他们单击表行时,我想在页面上显示公司的详细信息。当用户单击另一行时,我希望详细信息更改为单击的新公司的详细信息

HTML:

{%block content%}
你好
呼叫列表
公司名称
其他资料
{公司%%中的项目为%}
{{item.CompanyName}
{{item.lineof business}
{%endfor%}
函数UpdatePKFunction(pk){
pk=pk
$.ajax({
url:“/updateDetails”,
成功:功能(pk){
$('#DetailView').html(主键);
}
});
};
公司信息
{%endblock%}
我想插入的内容:

{%用于公司%中的项目]
{%if item.pk==pk%}
item.CompanyName
{%endif%}
{%endfor%}
view.py

从django.exe导入渲染
从django.http导入HttpResponse
从mainlist.models导入胡佛公司
#在这里创建您的视图。
def索引(请求):
companies=hoovers\u companies.objects.all()
company=hoovers\u companys.objects
返回呈现(请求'mainlist/index.html',{'companys':companys','company':company})
def updateDetails(请求):
companies=hoovers\u companies.objects.all()
返回呈现(请求'mainlist/updateDetails.html',{'companys':companys,'pk':1})
url.py

从django.conf.url导入url
从…起导入视图
URL模式=[
url(r'^updateDetails',views.updateDetails,name='updateDetails'),
url(r'^$',views.index,name='index'),
]

任何帮助或指向正确方向都将不胜感激

我找到了问题的答案,想把它贴在这里,以防对任何人都有帮助

*请注意:请勿将此方法用于任何敏感或私人信息。这是一个简单的
GET
请求,所有信息都可以在URL中看到

首先,在我想要显示其中信息的模板中,我将单击项的主键传递给我的函数


然后我把这个函数放在我的模板中。
#DetailView
引用了一个空的
div
的id,我想把动态内容放在这个位置。这允许我将所选项目的主键作为URL参数传递给视图


函数UpdatePKFunction(pk){
pk=pk
$.ajax({
url:'updateDetails/'+pk,
成功:功能(数据){
$('#DetailView').html(数据);
}
});
};
查看下面的
url.py
文件,以及它如何捕获主键(pk)并将其传递到
views.py
。从
views.py
将其传递给模板

#url.py
URL模式=[
url(r“^updateDetails/(?P.+?)/$”,views.updateDetails,name='updateDetails'),
url(r'^$',views.index,name='index'),
]
#views.py
def更新详细信息(请求、主键):
company=companys.objects.get(pk=pk)
返回呈现(请求'mainlist/updateDetails.html',{'company':company,'pk':pk})
完成此操作后,只需创建一个新模板,该模板包含开始时使用的空
div
中所需的任何html。这里我的模板是
mainlist/updateDetails.html