【发布时间】:2020-10-14 20:07:16
【问题描述】:
我已经为日志创建了一个模型:
class LogBook(models.Model):
token = models.CharField(max_length=500, blank=True, null=True)
class LogMessage(models.Model):
logbook = models.ForeignKey(
LogBook, on_delete=models.CASCADE, related_name="logmessages")
message = models.CharField()
我的看法
def logmessage_delete(request, logmessage_id, log_id, token):
log = get_object_or_404(LogBook, token=token, pk=log_id)
logmessages = LogMessage.objects.filter(logbook=log, message=logmessage_id)
logmessages.delete()
网址
delete/<int:logmessage_id>/<int:log_id>/<str:token>
在我的模板中我尝试过:
{% url 'log-delete' logmessage_id log_id token %}
我没有反向匹配,但如果我尝试例如:http://localhost:8000/log/delete/15/9/1 它工作得很好。
完全错误:
未找到带有参数“(”,“”,“”)的“日志删除”的反向操作。尝试了 1 种模式:['log/delete/(?P
[0-9]+)/(?P [0-9]+)/(?P[^/]+) $']
有什么想法吗?
【问题讨论】:
-
向我们展示完整的错误消息,包括尝试的模式和完整的 url 映射。
-
模板中显然不存在
logmessage_id、log_id和token变量。 -
@KlausD 我已经更新了我的帖子,谢谢!
-
是的,你的变量没有填充。
-
@KlausD 这是什么意思,我已将它们添加到我的 URL 和模板中
标签: python python-3.x django django-templates django-urls