Как я могу создать кнопку перенаправления с методом публикации в шаблоне Django - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь создать кнопку в шаблоне Django, которая будет перенаправлять на другой URL. Но возникает ошибка 404, поскольку Django не может распознать URL-путь, описанный в urls.py.

HTML часть

<form method="post" action='sts'>
{% csrf_token %}
 <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="cts_link">cts</button>
</form>

urls.py

from django.conf.urls import include, url
from django.contrib import admin
from rtRegRes.views import units
from rtRegRes.views import spartan

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^units/$', units),
    url(r'^units/sts/?$', spartan),
]

views.py

from django.shortcuts import render, redirect, reverse, render_to_response
from .models import rt_reg_res
from django.http import HttpResponse, JsonResponse

def units(request):
    """Return main webpage"""
    return render_to_response('runtime.html')

def spartan(request):
    """Link to the other unit webpages"""
    table = rt_reg_res.objects.all()
    if request.method == 'POST':
        qatables = request.POST.get("cts_link")
        if qatables:
            return render(request, 'cts.html', {'table': table})

При нажатии кнопки появляется следующее сообщение об ошибке: введите здесь описание изображения

Может ли кто-нибудь указать мне, что не так в моем коде

Спасибо

Ответы [ 3 ]

0 голосов
/ 08 мая 2020
from django.conf.urls import include, url
from django.contrib import admin
from rtRegRes.views import spartan , units

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^units/$', units),
    url(r'^units/sts/?$', spartan, name='sts'),
]

и

<form method="post" action='sts'>
{% csrf_token %}
 <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="cts_link">cts</button>
</form>
0 голосов
/ 09 мая 2020

Какая жалость, я зря потратил время ((Мой код был правильным, я просто забываю перезапускать сервер после изменений, каждый раз вместо этого перезагружал страницу и не видел реальных изменений. В любом случае, спасибо за ответы, ребята !!

0 голосов
/ 07 мая 2020

Поменяйте местами URL-адреса.

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^units/sts/?$', spartan),
    url(r'^units/$', units),
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...