Python 在Django中通过URL传递ObjectId时,字符串索引必须是整数
我正在django建立一个网站,并使用mongodb作为数据库。我想通过url传递mongodb文档的objectID。我正在对其应用自定义过滤器,但在“object | mongo__id”上不断出现“字符串索引必须是整数”错误,我做错了什么? 这是我的密码: user.htmlPython 在Django中通过URL传递ObjectId时,字符串索引必须是整数,python,django,mongodb,djongo,Python,Django,Mongodb,Djongo,我正在django建立一个网站,并使用mongodb作为数据库。我想通过url传递mongodb文档的objectID。我正在对其应用自定义过滤器,但在“object | mongo__id”上不断出现“字符串索引必须是整数”错误,我做错了什么? 这是我的密码: user.html {% load get_id %} <!DOCTYPE html> <html lang="en"> <head> <meta charset=&
{% load get_id %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<title>Document</title>
</head>
<body>
<nav class="navbar navbar-inverse">
<div style="padding-left: 1200px;" class="container-fluid">
<button class="btn btn-danger navbar-btn"><a href="{% url 'login_view' %}">Log Out</a></button>
</div>
</nav>
<br>
<div style="padding-left: 1100px;">
<button type="button" class="btn btn-success"> <a href="{% url 'new_job' object|mongo_id %}">Post Job</a> </button>
</div>
</body>
</html>
你能告诉我们哪一行触发了错误吗?另外,您能打印
值[''u id']
并告诉我们它是什么吗?同样适用于值
请。button type=“button”class=“btn btn success”>这一行会触发错误,并且不会打印任何导致相同错误的内容。您必须检查值
是什么。它是从哪里来的?值[''u id']
的预期值是多少?另外,作为一般性的说明,尝试给变量指定有意义的名称,调用字典value
是使代码难以阅读和维护的最佳方法。
from django import template
register=template.Library()
@register.filter(name="mongo_id")
def mongo_id(value):
return str(value['_id'])