簡體   English   中英

django1.8在url.py中具有url的正則表達式

[英]django1.8 to have regular expression for url in url.py

我正在嘗試將當前網址發送到我的視圖,以便將其重定向回我從其開始的原始頁面

我正在發送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+)/$']

網址正則表達式中我做錯了什么?

在我其余的代碼下面

我的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 })

您缺少uri的命名捕獲組:

url(r'^subcategory/new/(?P<pk>\d+)/(?P<uri>\S+)/$',item.views.subcategory_new, name="subcategory_new"),

而且,我也用\\S+替換了\\s+ ,因為我懷疑您實際上是想捕獲一個或多個空格字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM