2017-06-14 40 views
0

,所以我有這樣的2種形式Django的網址,保持最後的路徑

<form action="adicionar" accept-charset="utf-8"> 
    <input class="searchfield" id="searchbox" name="txtSearch" type="text" placeholder="Search"> 
    <button class="searchbutton" type="submit"> Adicionar<i class="fa fa-search"></i> 
    </button> 
</form> 

<form action="novo"> 
    {% csrf_token %} 
    <h2> Bem vindo {{ user.getNome }}</h2> 
    <input type="text" name="txtPost"> 
    <button type="submit">Salvar</button> 
</form> 

而這些看法

def novo(request): 
texto = request.GET.get('txtPost') 
user = request.session['usuario'] 
p = Post(texto=texto, fk_user=user,likes=10) 
p.save() 
usuario = Usuario.objects.get(id=user) 
return posts(request,id_user=usuario) 

def adicionar(request): 
nome = request.GET.get('txtSearch') 
usuario = Usuario.objects.get(id=request.session['usuario']) 
amigo = Usuario.objects.get(nome=nome) 
a = AmigoTemp(id_user=request.session['usuario'], id_amigo=amigo.id) 
a.save() 
return posts(request,id_user=usuario) 

他們之間的唯一關係是他們的.html文件,這是相同的 每次我點擊任意按鈕在視圖中調用它們各自的功能,它們只是克隆最後的路徑

例如:我在我的localhos ..../ 我點擊searchButton調用'adicionar'的方法和我的網址現在

localhost .../adicionar 我做我該做的,回到localhos ... /,但是當我點擊在另一種形式我得到這個網址

本地主機.../adicionar /諾

,如果我再次點擊,只是不停地克隆,如:

本地主機.../adicionar /諾/重新

等等......

我真的不知道,如果做我的問題很清楚,但我覺得dind't任何關於它

我urls.py是這樣的:

url(r'^autentificacao/novo/',novo), 
url(r'^autentificacao/adicionar/',adicionar), 

回答

2

您的表單行動屬性<form action="novo">是相對的。因此,瀏覽器將不斷添加到當前網址。

您需要製作這些絕對網址。爲此,最好命名您的網址並在模板中使用它們。

例如,

url(r'^autentificacao/novo/',novo, name='novo'), 
url(r'^autentificacao/adicionar/',adicionar, name='actionar'), 

然後,在模板中,

<form action="{% url 'novo' %}"> 
    {% csrf_token %} 
    <h2> Bem vindo {{ user.getNome }}</h2> 
    <input type="text" name="txtPost"> 
    <button type="submit">Salvar</button> 
</form>