python - 带有 DeleteView 的 Bootbox 在 Django 中找不到 url
问题描述
我正在使用 Bootbox 删除我的应用程序中的列表,但 url 不起作用。
这是脚本:
<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>
网址.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 种模式:['delete/(?P\d+)/$']
解决方案
推荐阅读
- python-3.x - CSV 阅读器无法读取正确的列
- arrays - 我们如何在 C 中对一个整数值进行签名并求和?
- git - git:是否可以在不克隆的情况下查看带有注释的远程标签?
- java - 使用没有任何同步的线程打印一个数字序列
- r - 合并和汇总 R 中一个文件夹中的多个 CSV
- vb6 - VB6 错误:对象“IAdodc”的方法“刷新”失败
- python - python语言中的圣诞树
- c - strtok_r() 对 strtok() 做了哪些改变?结果仍然看起来一样,它改变了原始字符串
- css - Woocommerce 样式数量输入(OceanWP)
- python - 获取 ModuleNotFoundError:Python 中没有名为“PythonMagick”的模块