Python 如何发送值;在django中将模板脚本中的变量添加到url?
在django中,我希望通过将任何变量的值放入模板的标记值来处理{%url%} pp_001.htmlPython 如何发送值;在django中将模板脚本中的变量添加到url?,python,django,jsp,Python,Django,Jsp,在django中,我希望通过将任何变量的值放入模板的标记值来处理{%url%} pp_001.html <script> $('#dataTables-wkgrid tbody').on( 'click', 'tr', function () { var data = table.row( this ).data(); if ( $(this).hasClass('selected') ) { $(this).removeClass('selected'
<script>
$('#dataTables-wkgrid tbody').on( 'click', 'tr', function () {
var data = table.row( this ).data();
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
else {
table.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
$.ajax({
type: "GET",
url: "{% url 'pp_02_open' %}",
data : {
"cPp_no" : data.pp_no
},
dataType: "json",
cache: false,
success: function(result){
console.log(result) ;
var aTag = "" ;
$.each(result.filelist,function(index){
cDocName = result.filelist[index].doc_name ;
cFilename = result.filelist[index].file_name ;
cid = result.filelist[index].id ;
cpp_no = result.filelist[index].pp_no ;
aTag += '<a href="{% url "pp_02_download" id=cid %}" class="list-group-item">'
+'<i name="iText" class="fa fa-file-powerpoint-o fa-fw"></i>'+result.filelist[index].doc_name
+'<i name="file_downloads" class="pull-right glyphicon glyphicon-cloud-download style="padding-left:10px">다운로드</i>'
+'</span>'
+'</a>'
</script>
$(#dataTables wkgrid tbody')。在('click','tr',function(){
var data=table.row(this.data();
if($(this).hasClass('selected')){
$(this.removeClass('selected');
}
否则{
表.$('tr.selected')。removeClass('selected');
$(this.addClass('selected');
$.ajax({
键入:“获取”,
url:“{%url'pp_02_open%}”,
数据:{
“cPp_编号”:data.pp_编号
},
数据类型:“json”,
cache:false,
成功:功能(结果){
控制台日志(结果);
var aTag=“”;
$.each(结果.文件列表,函数(索引){
cDocName=result.filelist[index].doc\u name;
cFilename=result.filelist[index]。文件名;
cid=result.filelist[index].id;
cpp\u no=result.filelist[index].pp\u no;
aTag+=''
url.py
path(r'^PP/download/<int:id>/$' , views_pp.download , name="pp_02_download"),
path(r'^PP/download/$,views\u PP.download,name=“PP\u 02\u download”),
错误
找不到具有关键字参数“{id:”}”的“pp\u 02\u download”的反转。尝试了1种模式:[crms/\^pp\/download\/(?p[0-9]+)\/\$]
换句话说,当jsp脚本变量的值为
{%url“pp_02_download id=cid%},我想知道如何传递cid的值
如果以这种方式随机传递“10”而不是cid,它将正常执行。开发尚未完成。首先,它在参数中获取id值,检索数据,然后尝试下载文件 当前源配置为可以通过随意指定特定文件来检查下载是否正常 views.py
def download(request,id):
# filename = 'files/test.py'
filename = 'files/테스트.pptx'
file_path = os.path.join(settings.MEDIA_ROOT, filename)
# file_path = reduce(os.path.join, (settings.MEDIA_ROOT, filename))
logger.info('file_path : %s' , file_path )
if os.path.exists(file_path) and os.path.isfile(file_path):
with open(file_path, 'rb') as fp:
response = HttpResponse(fp.read())
content_type, encoding = mimetypes.guess_type(filename)
if content_type is None:
content_type = 'application/octet-stream'
# content_type = ""
response['Content-Type'] = content_type
response['Content-Length'] = str(os.stat(file_path).st_size)
logger.info('content_type : %s' , content_type )
# encoding = 'euc-kr'
logger.info("encoding : %s" , encoding )
if encoding is not None:
response['Content-Encoding'] = encoding
else:
response['Content-Encoding'] = 'euc-kr'
if u'WebKit'in request.META.get('HTTP_USER_AGENT', u'Webkit'):
filename = os.path.basename(filename)
filename_header = 'filename=%s' % os.path.basename(filename)
elif u'MSIE' in request.META.get('HTTP_USER_AGENT', u'MSIE'):
filename_header = ''
filename_header = 'filename=%s' % os.path.basename(filename)
else:
filename_header = 'filename=%s' % os.path.basename(filename)
filename_header = filename_header.encode('cp949') # utf -> euc 로 변환
response['Content-Disposition'] = filename_header
logger.info('filename-header : %s ' , filename_header )
logger.info('[Content-Disposition] : %s' , response['Content-Disposition'])
return response
path(r'PP/download/',views\u PP.download,name=“PP\u 02\u download”),
对URL.py的更改将不起作用
NoReverseMatch at/crms/PP/
“pp\u 02\u download”与关键字参数“{id”:“}”相反。尝试了1种模式:[crms/pp\/download\/(?P[0-9]+)\/$”]请共享您的
视图\u pp.download
函数,我认为这是您需要进行更改的地方。由于您使用的是django2,URL.py可以是:路径('pp/download/',views\u pp.download,name=”pp_02_download“,
path('pp/download/',views_pp.download,name=“pp_02_download”),url.py에 대한 변경은 작동하지 않습니다.请停止将更新发布为您问题的答案。删除这三个答案,并用新信息编辑您的问题。虽然回答您自己的问题是可以接受的,但答案实际上必须是答案,而不是更新。
path(r'PP/download/<int:id>/' , views_pp.download , name="pp_02_download"),