J'ai essayé de créer un écran d'enregistrement avec la fonction def, mais cela n'a pas fonctionné, alors je suis passé à le créer avec la classe.
Il y a certaines parties que vous devez créer avec cela, et certaines parties que vous n'avez pas, alors ne soyez pas trop précis sur les écrans que vous n'utilisez pas souvent.
python:staff.urls.py
from django.urls import path, include
from .views import StaffCreate
urlpatterns = [
path('create/', StaffCreate.as_view(), name = "staffcreate"),
]
Modifiez également le routage des URL. Dans le cas d'une classe, as_view () semble être une règle.
Et aussi changé de vues
views.py
from django.shortcuts import render
from .form import CreateUserForm
from .models import Staff
from django.views.generic import CreateView
class StaffCreate(CreateView):
template_name = "staff/create.html"
model = Staff
fields = ("id", "name", "password", "roll", "nyushabi", "taishabi", "hyoujijyun", "jikyu", "delete")
##success_url = reverse_lazy("list")
Une fois l'inscription réussie, je reviendrai à l'écran de la liste du personnel, mais je ne l'ai pas encore créée, je l'ai donc commentée.
Enfin, modifiez le fichier html.
python:staff.create.html
{% extends 'base.html' %}
{% block title %}
{% endblock title %}
{% block header %}
Inscription du personnel
{% endblock header %}
{% block content %}
<from action="" method="POST">
{{ form.as_p }}
<input type="submit" value="enregistrement">
</from>
{% endblock content %}
Cela devrait être fait ... J'essaie toujours de le réparer avec une erreur d'ici.
Démarrez le serveur http://127.0.0.1:8000/staff/create/
Ouvrons la page avec.
Oh, c'était affiché! C'est un écran simple et maladroit, mais il est important que la fonction fonctionne! (J'espère que je pourrai porter les décorations ici à l'avenir, mais avant tout, les fonctions seront implémentées!)
J'essaierai de m'inscrire.
Bon, la date est aussi solide, il est difficile de comprendre comment la saisir, et une correction peut être indispensable (rires) Vous pouvez en faire l'expérience en le saisissant vous-même. Faisons un système aimant
Mais pour le moment, cliquez sur le bouton d'inscription
cette? Il n'y a pas de réaction Je me demande pourquoi ...
ne sait pas…
Si vous revérifiez les modèles, il est difficile de connaître la date et l'heure de création, donc corrigez-les. C'est peut-être parce que je ne me suis pas enregistré en tant qu'utilisateur ...
staff.py
from django.db import models
class Staff(models.Model):
id = models.AutoField(verbose_name='ID d'employé',primary_key=True)
password = models.CharField(verbose_name='mot de passe',max_length=20)
name = models.CharField(verbose_name='Nom de l'employé',max_length=20, blank=False, null=True)
roll = models.CharField(verbose_name='Position',max_length=10, blank=False, null=True)
nyushabi = models.DateField(verbose_name='Date d'embauche',blank=False, null=True)
taishabi = models.DateField(verbose_name='Date de départ',blank=True, null=True)
hyoujijyun = models.IntegerField(verbose_name='Ordre d'affichage',unique=True)
jikyu = models.IntegerField(verbose_name='Salaire horaire',blank=False, null=True)
delete = models.BooleanField(verbose_name='Supprimer le drapeau',default=False)
create_date = models.DateTimeField(verbose_name='Date d'enregistrement', auto_now_add=True)
create_user = models.CharField(verbose_name='Utilisateur enregistré', max_length=50, null=True)
update_date = models.DateTimeField(verbose_name='Mettre à jour la date et l'heure', auto_now=True)
update_user = models.CharField(verbose_name='Mettre à jour l'utilisateur', max_length=50, null=True)
def __str__(self):
return self.name
regist ⇒ Modifié pour créer. C'est plus facile à comprendre
Effectuer la migration
De plus, j'ai oublié d'ajouter des mesures intersites, alors je l'ai ajouté
python:staff.create.html
{% extends 'base.html' %}
{% block title %}
{% endblock title %}
{% block header %}
Inscription du personnel
{% endblock header %}
{% block content %}
<from action="" method="POST">{% csrf_token %}
{{form.as_p}}
<input type="submit" value="enregistrement">
</from>
{% endblock content %}
Eh bien, je n'ai rien changé, donc il ne semble pas que l'enregistrement fonctionne. Je vais essayer.
Je vais appuyer sur le bouton d'inscription
Aucune réaction (rires)
Eh bien, je ne connais pas la cause ...
Je me suis demandé si je pouvais comprendre quelque chose si je m'inscrivais sur l'écran administrateur, mais lorsque je l'ai essayé, l'erreur suivante
Les utilisateurs enregistrés et les utilisateurs mis à jour sont requis ... Cela signifie que l'écran de connexion est créé en premier, puis vous vous connectez pour obtenir l'utilisateur et l'utiliser lors de l'inscription. Bon à remarquer: smiley:
Je vais suspendre la création de l'écran de création du personnel et créer l'écran de connexion.
Recommended Posts