Php Django唯一URL重定向问题

Php Django唯一URL重定向问题,php,python,django,forms,url,Php,Python,Django,Forms,Url,从提交到编辑更多字段后尝试重定向时出现问题 还可以创建提交的超链接 当提交带有重定向的表单时,我得到以下错误。 如果我将带有呈现请求的表单提交到另一个页面,表单将保存ok 请求方式:POST请求 网址:Django 版本:1.8.4异常类型:NoReverseMatch异常值: 带参数“()”和关键字的“detail_pricebook”则相反 未找到参数“{p_id':22L}”。已尝试0个模式:[] 我的模特 class PriceBook(models.Model): priceb

从提交到编辑更多字段后尝试重定向时出现问题 还可以创建提交的超链接

当提交带有重定向的表单时,我得到以下错误。 如果我将带有呈现请求的表单提交到另一个页面,表单将保存ok

请求方式:POST请求 网址:Django 版本:1.8.4异常类型:NoReverseMatch异常值: 带参数“()”和关键字的“detail_pricebook”则相反 未找到参数“{p_id':22L}”。已尝试0个模式:[]

我的模特

class PriceBook(models.Model):
    pricebook_id = models.AutoField(primary_key=True)
    pricebook_name = models.CharField(max_length=255,verbose_name='PriceBook Name')
    discription = models.TextField(verbose_name='Discription')
    date_created = models.DateTimeField(auto_now_add=True, blank=True)
    active = models.SmallIntegerField(max_length=1, blank=True)

    def __unicode__(self):
        return self.pricebook_name
view.py

 def new_pricebook(request):
    if request.method == "POST":
        pricebook_form = PricebookForm(request.POST)
        if pricebook_form.is_valid():
                post = pricebook_form.save(commit=False)
                post.save()
                #return render(request, 'resourcelib/thanks.html',)
                return redirect('detail_pricebook', p_id=post.pricebook_id)

    else:
        pricebook_form = PricebookForm()
        return render(request, 'resourcelib/pricebook_add.html', {'pricebook_form': pricebook_form})

def detail_pricebook(request, p_id):
    pricebook_from = get_object_or_404(PriceBook, pk=p_id)
    return render(request, 'resourcelib/pricebook_detail.html', {'pricebook_from':pricebook_from})
url.py

url(r'^add_pricebook', views.new_pricebook, name='new_pricebook'),
    url(r'^list_pricebook', views.list_pricebook, name='list_pricebook'),
    url(r'^detail_pricebook/(?P<p_id>[0-9]+)/$', views.detail_pricebook, name='detail_pricebook'),
url(r'^add'u pricebook',views.new'u pricebook,name='new'u pricebook'),
url(r“^list\u pricebook”,views.list\u pricebook,name='list\u pricebook'),
url(r“^detail\u pricebook/(?P[0-9]+)/$”,views.detail\u pricebook,name='detail\u pricebook'),
我不相信它在url文件中,因为如果我浏览到条目,例如。 127.0.0.1:8000/resourcelib/detail_pricebook/3/-正常工作

但是我也不能让我的链接正常工作,我可以列出我的条目。但是,当您单击下面的链接时,该链接无法从下面的代码中工作,它只会出现127.0.0.1:8000/resourcelib/%7B%%20url%20'detail\u pricebook'%20p\u id.pk%7D

{% if pricebooks %}
    <ul>
    {% for pricebook in pricebooks %}
        <li><h1><a href="{% url 'detail_pricebook' p_id.pk}">{{ pricebook.pricebook_name }}</a></h1></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No price books have been created.</p>
{% endif %}
{% endblock %}
{%if pricebooks%}
    {pricebooks%中pricebook的%
  • {%endfor%}
{%else%} 尚未创建价格手册

{%endif%} {%endblock%}

如果url标记中缺少任何帮助,将不胜感激。小心点。

谢谢@ozgur,你知道我对pk的引用是错误的。我能够解决这个问题。我在主项目URL.py上有一个名称空间。。。可能是我应该提供的信息,忘了我用了cookiecutter

url(r'^resourcelib/', include('oneworksite.resourcelib.urls', namespace='resource')),
因此,我当时能够得到与工作的联系

<a href="{% url 'resource:detail_pricebook' pricebook.pk %}">{{ pricebook.pricebook_name }}</a>

然后在重定向中,我改为
返回重定向('resource:detail\u pricebook',p\u id=post.pk)

缺少
%
。在模板中将
p_id
替换为
pricebook
{%url'detail\u pricebook'pricebook.pk%}
谢谢,我在尝试解决方案时一定忽略了这一点。将其重新添加到中,但无法执行错误:异常值:未找到参数为“(2L,)”且关键字参数为“{}”的“detail_pricebook”的反转。尝试了0个模式:[]尝试此:{%url'detail_pricebook'p_id=pricebook.pk%}感谢@hsfzxjy将其整理好,没有意识到当我的视图位于不同的命名空间下时如何链接到它