probleme d'url doublée avec formulaire
Bonjour à tous,
Debutant sur Django, je cale depuis plusieurs jours sur un probleme d'url "doublée"
Il s'agit d'un formulaire nommé appelé par l'url (et la vue) 'register/ ' qui, quand il est correctement rempli,
doit renvoyer à l'url http://127.0.0.1:8000/login/
Et au lieu de ça ça renvoie à http://127.0.0.1:8000/login/login (qui n'existe pas)
N'ayant pas trouve d'infos sur ce type de problème je viens voir ici si quelqu'un aurait une idée pour m'aider.
Je suis sous l'IDE Pycharm et son VirtualEnv sous Windows
Merci et bonne soirée
voici un extrait du contenu de mes fichiers :
urls.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| from django.contrib import admin
from django.urls import path
from trombinoscoop.views import welcome, login, register
urlpatterns = [
path('', login),
path('login/', login),
path('welcome/', welcome),
path('register/', register),
path('admin/', admin.site.urls),
] |
views.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| from datetime import datetime
from django.shortcuts import render, redirect
from trombinoscoop.forms import LoginForm, StudentProfileForm
def welcome(request):
return render(request, 'welcome.html', {'current_date_time': datetime.now()})
def register(request):
if len(request.GET) > 0:
form = StudentProfileForm(request.GET)
if form.is_valid():
form.save()
# return redirect('/login')
return redirect('/welcome')
else:
return render(request, 'user_profile.html', {'form': form})
else:
print('DDD')
form = StudentProfileForm()
return render(request, 'user_profile.html', {'form': form}) |
template user_profile.thml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| {% extends "base.html" %}
{% block title %}
Création d'un profil
{% endblock %}
{% block bodyId %}
userProfilePage
{% endblock %}
{% block content %}
<h1>Création d'un compte</h1>
<form action="register" method="get">
{{ form.as_p }}
<p>
<input type="submit" value="Créer un compte"/>
</p>
</form>
{% endblock %} |
forms.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| # -*- coding: utf-8 -*-
from django import forms
from trombinoscoop.models import Student
from trombinoscoop.models import Person
#(...)
class StudentProfileForm(forms.ModelForm):
class Meta:
model = Student
exclude = ('friends',) |