Es ist eine kleine Verbesserung, aber die Schichtinformationen wurden nicht auf der Seite angezeigt, um die gewünschte Schicht zu erstellen. Der Grund dafür ist, dass ich bei Verwendung von genericview nicht wusste, wie andere Informationen als das angegebene Modell an die Vorlage übergeben werden sollen.
Ich bin um 4:30 aufgewacht, also habe ich 2 Stunden lang gerungen und es war geschafft. Produktivität, die ich in 2 Stunden nur über 5 Zeilen schreiben kann (lacht) Ich weiß noch nicht, wie man googelt, und ich habe immer noch das Gefühl, dass das passende Keyword für Google ist.
Ich bin sicher, dass Sie bald noch mehr spielen können!
Zunächst der Code, der in View übergeben werden soll
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
Es ist eine Implementierung mit ** kwargs, die ich hier zuvor gefragt habe. Ich habe ** kwargs noch nicht vollständig verstanden, daher würde ich es gerne nach und nach verstehen.
Dies allein wird an die Vorlage übergeben. Sie müssen es also nur in der Vorlage anzeigen.
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">Gewünschte Schichtregistrierung</h1>
{% for shift in shift %}
{% if shift.name != "Geschlossen" and shift.name != "Ja" %}
{{ 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="Erstellen" class="btn-info btn active">
<a href="{% url 'schedule:KibouList' %}" class="btn-secondary btn active">Rückkehr</a></p>
</form>
</div>
{% endblock content %}
Sie können es jetzt auf dem Bildschirm anzeigen.
Das ist in Ordnung
Ich denke, ich werde überlegen, ob die Registrierung von Master-Beziehungen einen Bildschirm erstellt oder ob dies auf dem Verwaltungsbildschirm von Django erfolgt. Wir erwägen auch, neue Funktionen zu erstellen. Das macht mehr Spaß (lacht)
Recommended Posts