django urls保持最后的道路

时间:2017-06-14 03:16:20

标签: django forms url path

所以我有这2个表格

<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'方法,我的网址现在是

本地主机... / adicionar 我做我必须做的事情并回到localhos ... /,但当我点击另一个表格我得到这个网址

本地主机... / adicionar /从头

如果我再次点击,只需像以下一样克隆:

本地主机... / adicionar /从头/从头

依旧......

我真的不知道我的问题是否足够明确,但我找不到任何关于它的事情

我的urls.py是这样的:

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

1 个答案:

答案 0 :(得分: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>