Django перенаправление на неправильный URL - PullRequest
0 голосов
/ 26 марта 2020

когда я нажимаю "отправить" в моей форме, она отправляется в ../register/register/, где я ожидаю, что она должна go to ../register

Это мой основной проект urls.py

urlpatterns = [
    path('participants/', include('participants.urls')),
    path('admin/', admin.site.urls),
]

Это мое приложение urls.py

urlpatterns = [
    path('register/', views.register, name="register")
]

Это функция моих просмотров

def register(request):
    if request.method == "POST":
        username = request.POST['username']
        # email = request.POST['email']
        password = request.POST['pass']
        print(username, password)
        user = User.objects.create_user(username=username, password=password)
        user.save()
        return redirect('register')

    else:
        return render(request, 'register.html')

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Вы можете установить django-extensions и запустить manage.py show_urls, чтобы узнать, какие у вас есть URL-адреса, а также попробовать reverse('register'), чтобы проверить, на что они указывают.

0 голосов
/ 27 марта 2020

Вы можете попробовать добавить пространства имен к своим URL-адресам

Основной проект urls.py

urlpatterns = [
    path('participants/', include('participants.urls', namespace='participants')),
    path('admin/', admin.site.urls),
]

Приложение urls.py

app_name = 'participants'
urlpatterns = [
    path('register/', views.register, name="register")
]

Просмотр

def register(request):
    if request.method == "POST":
    ...
    return redirect('participants:register')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...