Две формы Джанго: одна не показывается - PullRequest
0 голосов
/ 30 сентября 2019

В настоящее время я работаю над своим первым приложением 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

...