В настоящее время я работаю над своим первым приложением Django, и мне нужно показать некоторые формы
Первая работает как брелок (форма outil), но у меня проблемы со вторым (форма клиента)
Я посмотрел один учебник по Django / MDN и переполнение стека, но ничего плохого не получается: (
forms.py
from django import forms
class AjoutOutil(forms.Form):
NomOutil = forms.CharField(label='Nom de l\'outil', max_length='250')
class AjoutClient(forms.Form):
nomDuClient = forms.CharField(label='Nom du client', max_length='200')
domaineDuClient = forms.CharField(label='Domaine activite', max_length='200')
views.py
from django.http import HttpResponse
from django.shortcuts import render, get_object_or_404
#Import des modèles de données
from .models import collaborateurs, experiences, outils, competences
#import des formulaires
import collab.forms
#The working one (GET and POST)
def ajout_outil(request):
form = AjoutOutil()
return render(request, 'collab/ajout_outil.html', {'form':form})
#POST du formulaire d'ajout d'outil
def ajoutOutilReponse(request):
#Si le formulaire est posté
if request.method == 'POST':
AjoutOutilFormulaire = AjoutOutil(request.POST)
if AjoutOutilFormulaire.is_valid():
NomOutil = AjoutOutilFormulaire.cleaned_data['NomOutil']
q = outils(nomOutil=NomOutil)
q.save()
return render (request, 'collab/ajout_outil_valide.html', {'NomOutil': NomOutil,} )
else:
form = AjoutOutil()
return render(request, 'ajout_outil_valide.html', {'form':form});
#The non working one (i'm currently stuck on just showing the form i din't even try to develop the POST before succeed in showing it
def ajout_client(request):
form = AjoutClient()
return render(request, 'ajout_client.html', {'form':form})
HTML-код нерабочей формы (ajout_client.html)
{% load static %}
<html>
<head>
<link rel="stylesheet" type="text/css" href="{% static 'collab/style.css' %}">
<title>Ajout Client</title>
</head>
<body>
<nav>
<ul>
<li><a href="{% url 'index'%}">Homepage</a></li>
<li><a href="{% url 'collaborateurs_all'%}">Collaborateurs<span class="caret"></span></a>
<div>
<ul>
<li><a href="">Ajouter collab</a></li>
<li><a href="">Modifier collab</a></li>
</ul>
</div>
</li>
<li><a href="{% url 'voirOutil' %}">Outils<span class="caret"></span></a>
<div>
<ul>
<li><a href="{% url 'ajout_outil'%}">Ajouter</a></li>
</ul>
</div>
</li>
<li><a href="">Clients<span class="caret"></span></a>
<div>
<ul>
<li><a href="{% url 'ajout_client'%}">Ajouter</a></li>
</ul>
</div>
</li>
<li><a href="http://127.0.0.1:8000/admin/">Admin</a></li>
</ul>
</nav>
<form action="" method="post">
{% csrf_token %}
{{form.as_p}}
<br><input type="submit" value="Enregistrer">
</form>
</body>
</html>
вот url.py:
from django.urls import path
from . import views
urlpatterns = [
#racine
path('',views.index, name='index'),
#/collab/
path('collab/', views.collaborateurs_all, name='collaborateurs_all'),
#/collab/[idcollaborateur]
path('collab/<int:collaborateurs_id>/', views.collaborateur_detail, name='collaborateur_detail'),
#/collab/ajout
path('collab/ajout/', views.ajout_collab, name='ajout_collab'),
#/outil/
path('outil/', views.voirOutil, name='voirOutil'),
#/outil/ajout
path('outil/ajout/', views.ajout_outil, name='ajout_outil'),
#Validation du formulaire outil/ajout
path('outil/ajout_outil_valide/', views.ajoutOutilReponse, name='ajoutOutilReponse'),
#client
# path('/client',,)
#/client/ajout
path('client/ajout/', views.ajout_client, name='ajout_client'),
]
Вторая форма (ajout_client) не отображается на страницетолько кнопка подтверждения. (URL: http://127.0.0.1:8000/client/ajout/)
Снимок экрана: экран страницы
Где я допустил ошибку?
Спасибозаранее за вашу помощь в моем первом квесте Django: D