Django - 查询字符串时如何设置正则表达式
Django - how to set regex when querying string
我在数据库中有这样的字符串:
|pay_tocken |
|-----------------------------------------|
|d7fe6c3d52cab958a67d51a5f18a2288ad53c5ee |
|00684bf8e9af13e4345297725d2804e6d04158dc |
|851c4b07ab9954651f20871ed5574673e65ebe95 |
当我运行一个查询得到它时,它returns一个错误。
我的查询是:
def cart_items(request, tocken):
pay = Pay.objects.get(pay_tocken=tocken)
return render(request, 'pay/pay_items.html', {'pay':pay})
和url:
from pay import views as pay_views
url(r'^profile/product-items/(?P<tocken>\d+)/$', pay_views.cart_items, name="cart_items")
模板:
{% extends "store/base.html" %}
{% block content %}
<div class="container">
<div class="table-responsive">
<table class="table table-striped text-center">
<tr>
<th>Tockens</th>
</tr>
{% for payment in payments %}
<tr>
<td><a href="{% url 'cart_items' tocken=payment.pay_tocken %}">Tocken</a></td>
</tr>
{% endfor %}
</table>
</div>
</div>
{% endblock content %}
当我运行它时,它returns一个错误:
Reverse for 'cart_items' with arguments '()' and keyword arguments '{u'tocken': u'dfgdf'}' not found
您使用的是字母数字 tocken
,但在 url 模式中,您仅使用 d+
匹配数字。将其更改为 w+
,它应该可以工作
url(r'^profile/product-items/(?P<tocken>\w+)/$', pay_views.cart_items, name="cart_items")
我在数据库中有这样的字符串:
|pay_tocken |
|-----------------------------------------|
|d7fe6c3d52cab958a67d51a5f18a2288ad53c5ee |
|00684bf8e9af13e4345297725d2804e6d04158dc |
|851c4b07ab9954651f20871ed5574673e65ebe95 |
当我运行一个查询得到它时,它returns一个错误。
我的查询是:
def cart_items(request, tocken):
pay = Pay.objects.get(pay_tocken=tocken)
return render(request, 'pay/pay_items.html', {'pay':pay})
和url:
from pay import views as pay_views
url(r'^profile/product-items/(?P<tocken>\d+)/$', pay_views.cart_items, name="cart_items")
模板:
{% extends "store/base.html" %}
{% block content %}
<div class="container">
<div class="table-responsive">
<table class="table table-striped text-center">
<tr>
<th>Tockens</th>
</tr>
{% for payment in payments %}
<tr>
<td><a href="{% url 'cart_items' tocken=payment.pay_tocken %}">Tocken</a></td>
</tr>
{% endfor %}
</table>
</div>
</div>
{% endblock content %}
当我运行它时,它returns一个错误:
Reverse for 'cart_items' with arguments '()' and keyword arguments '{u'tocken': u'dfgdf'}' not found
您使用的是字母数字 tocken
,但在 url 模式中,您仅使用 d+
匹配数字。将其更改为 w+
,它应该可以工作
url(r'^profile/product-items/(?P<tocken>\w+)/$', pay_views.cart_items, name="cart_items")