django动态网址的奇怪行为

时间:2013-11-28 14:35:14

标签: python regex django dynamic-url

我在django中使用动态网址。它适用于整数值,如果动态部分是URL的末尾,则适用于字符串。如果动态变量后面的URL中有其他组件,请说:

url(r'companies/(?P<comp_id>.+)/buy/?$',views.buy)

现在在views.buy函数中,

print comp_id 

给了我id1/buy。因此,它将整个剩余的URL作为comp_id变量。我该如何阻止它?

company.html:

<html>
    <head>
            <title>{{ company.name }}</title>
    </head>
    <body>
            Name:{{ company.name }}<br> 
            Worth: {{ company.company_worth }}<br>

            <form action="/companies/{{ company.comp_id }}/buy/" method = "post">
                    {% csrf_token %}
                    {{ form.as_p }}
                    <input type="submit" value="Buy">
            </form>

    </body>

2 个答案:

答案 0 :(得分:1)

url(r'companies/(?P<comp_id>.+?)/buy(/|)$', views.buy)

答案 1 :(得分:0)

如果comp_id值为id1,则可以解决问题。

url(r'companies/(?P<pdf>\w+)/buy/?$',views.buy)