[PYTHON] Passer du texte à Django genericview

C'est une petite amélioration, mais les informations sur l'équipe n'étaient pas affichées sur la page pour créer l'équipe souhaitée. La raison en est que lorsque j'ai utilisé genericview, je ne savais pas comment transmettre des informations autres que le modèle spécifié au modèle.

Je me suis réveillé à 16h30, j'ai donc lutté pendant 2 heures et c'était fait. Une productivité que je ne peux écrire qu'environ 5 lignes en 2 heures (rires) Je ne sais pas encore Google, et je pense toujours que quel est le mot clé approprié pour Google.

Je suis sûr que vous pourrez bientôt jouer encore plus!

Tout d'abord, le code à passer dans View

schedule/views.py


class KibouCreate(CreateView):
    template_name = 'schedule/kiboushift/create.html'
    model = KibouShift
    fields = ('user', 'date', 'shift_name_1', 'shisetsu_name_1', 'shift_name_2', 'shisetsu_name_2', 'shift_name_3', 'shisetsu_name_3', 'shift_name_4', 'shisetsu_name_4')
    success_url = reverse_lazy('schedule:KibouList')

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['shift'] = Shift.objects.all()
        return context

C'est une implémentation utilisant ** kwargs que j'ai déjà posée ici. Je n'ai pas encore entièrement compris ** kwargs, alors j'aimerais le comprendre petit à petit.

Cela seul le transmettra au modèle, il vous suffit donc de l'afficher dans le modèle.

schedule/create.html


{% extends 'schedule/kiboushift/base.html' %}
{% load static %}
{% block customcss %}
<link rel="stylesheet" type="text/css" href ="{% static 'schedule/kiboushift/update.css' %}">
{% endblock customcss %}

{% block header %}
<div class="jumbotron jumbotron-fluid">
    <div class="container">
      <h1 class="display-4">Enregistrement de quart souhaité</h1>
      {% for shift in shift %}
      {% if shift.name != "Fermé" and shift.name != "Oui" %}
          {{ shift.name }} : {{ shift.start_time }}~{{ shift.end_time }}
      {% endif %}
  {% endfor %}
      <p class="lead"></p>
    </div>
  </div>
{% endblock header %}

{% block content %}
<div class="container">
<form action="" method="POST">{% csrf_token %}
  <table>
    {{ form.user.first_name }}
    {{ form.as_p }}
  </table>
    <p><input type="submit" value="Créer" class="btn-info btn active">
    <a href="{% url 'schedule:KibouList' %}" class="btn-secondary btn active">Revenir</a></p>
</form>
</div>
{% endblock content %}

Vous pouvez maintenant l'afficher à l'écran.

image.png

C'est acceptable

Je pense que je vais examiner si l'enregistrement des relations maîtres crée un écran ou s'il se fait sur l'écran de gestion de Django. Nous envisageons également de créer de nouvelles fonctionnalités. C'est plus amusant (rires)

Recommended Posts

Passer du texte à Django genericview
Passer les informations de connexion à afficher dans Django
impossible d'importer django
mettre à jour django version 1.11.1 vers 2.2
Introduction à Python Django (2) Win
Convertir le HTML en fichier texte
Shell pour créer un projet django
[Django] Transmettez l'instance utilisateur authentifiée par l'API à ModelSerializer
Parler avec Python [synthèse vocale]
Déployer le projet django sur heroku
Étapes pour développer Django avec VSCode
[Django] Comment tester le formulaire [TDD]
Django 1.11.1 Téléchargeur d'images Points faciles à trébucher
Étapes pour créer un projet Django
Erreur liée à memcached dans django
Standardiser le HTML à louer avec Django
Ajout de la fonction de réussite à Sublime Text
J'ai essayé l'authentification vocale Watson (Speech to Text)
Comment refléter CSS dans Django
Déployer le didacticiel Django sur IIS ①
[Django] Commande pour générer QuerySet en csv
Transmettez des arguments à Task dans discord.py
Mettre à jour les applications exécutées sur Django 1.7 vers Django 1.8
Comment écrire un fichier wsgi.py indépendant de l'environnement Django1.9
Introduction à Python Django (2) Édition Mac
[Django] Comment passer des valeurs directement des balises de modèle aux variables JavaScript