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
views.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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), ]
template user_profile.thml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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})
Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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',)
Partager