我正在尝试将当前网址发送到我的视图,以便重定向回我开始的原始网页
我发送2个参数" pk"这是我用于操作的关键数字" uri"这是我目前的网址
从我的url.py下面的行我无法弄清楚应该如何设置
url(r'^subcategory/new/(?P<pk>\d+)/(<uri>\s+)/$',item.views.subcategory_new, name="subcategory_new"),
我收到错误消息
Reverse for 'subcategory_new' with arguments '()' and keyword arguments '{u'pk': 2, u'uri': 'http://127.0.0.1:8000/item/category/list/?name=M_Textile&keywords=&author=&creation_time='}' not found. 1 pattern(s) tried: ['item/subcategory/new/(?P<pk>\\d+)/(<uri>\\s+)/$']
我在url正则表达式中做错了什么?
以及我的其余代码
从我的template.html链接
<a href="{% url 'subcategory_new' pk=category.id uri=request.build_absolute_uri %}">Add SubCategory</a>
最后是我的view.py
@login_required
def subcategory_new(request,pk,uri):
category = get_object_or_404(Category, pk=pk)
if request.method == "POST":
form = SubCategoryForm(request.POST)
if form.is_valid():
subcategory = form.save(commit=False)
#contact.author = request.user
subcategory.creation_time = timezone.now()
subcategory.category = category
subcategory.save()
return redirect(uri)
else:
form = SubCategoryForm()
return render(request, 'item/subcategory_edit.html', {'form': form, 'category':category })
答案 0 :(得分:2)
您缺少uri
的指定捕获组:
url(r'^subcategory/new/(?P<pk>\d+)/(?P<uri>\S+)/$',item.views.subcategory_new, name="subcategory_new"),
而且,我还用\s+
替换\S+
,因为我怀疑你是否想要捕获一个或多个空格字符。