问题描述
我正在使用BootBox删除我的应用程序中的列表,但该网址无法正常工作。
这是脚本:
<script>
$(".delete-file").click(function () {
var button = $(this);
let id = button.attr("data-id");
bootBox.confirm("Are you sure you want to delete this file?",function (result) {
if (result) {
$.ajax({
method: "GET",url: "{% url 'delete_file' pk=id %}",success: function(){
#success
}
});
}
});
});
</script>
Urls.py
url(r'^delete/(?P<pk>\d+)/$',views.FileDelete.as_view(),name="delete_file"),
HTML:
<a data-id="{{ file.pk }}" class="delete-file">Delete</a>
查看:
def index(request):
if request.method == 'POST':
form = FileUploadForm(request.POST,request.FILES)
if form.is_valid():
form.instance.user = request.user
form.save()
else:
form = FileUploadForm
allTags = Tag.objects.all()
Tag.objects.annotate(ntag=Count('taggit_taggeditem_items')).filter(ntag=0).delete()
user = request.user
files = Uploaded.objects.filter(user=user)
context = {'form': form,'allTags': allTags,'files': files}
return render(request,'index.html',context)
模板:
{% for file in files %}
<div class="col-md-6">
<div class="cards">
<div class="row no-gutters border rounded flex-md-row mb-4 shadow-sm h-md-250">
<div class="col p-4 d-flex flex-column position-static">
<h3 class="my-1"><a href="{{ file.file.url }}">{{file.name}}</a></h3>
<div style="display:flex">
{% for tag in file.tags.all %}
<a href="{% url 'tagged' tag.slug %}" class="mr-1 badge badge-info">#{{ tag }}</a>
{% endfor %}
</div>
<p class="mb-auto">{{file.name}}</p>
<p class="mb-auto text-muted">{{file.time_uploaded}}</p>
<form action="{% url 'file_newdescription' pk=file.pk %}" method="post">
{% csrf_token %}
<input type="text" class="form-control" value="{{ file.additional_description }}" name="additional_description">
<input type="submit" id="set" class="pull-right"/>
</form>
<p class="mb-auto">{{file.additional_description}}</p>
<a href="{{ file.file.url }}" download>Download</a>
<a data-id="{{ file.pk }}" class="btn-link delete-file">Delete</a>
</div>
</div>
</div>
</div>
{% endfor %}
我得到的错误是:
找不到带有关键字参数'{'pk':''}'的'delete_file'的反向字符。尝试了1种模式:['删除/(?P \ d +)/ $']
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)