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.
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