[PYTHON] Erstellen Sie einen Django-Zeitplan

Vorerst möchte ich eine Schichterstellungsfunktion erstellen, aber wenn es monatliche Schichtdaten gibt, implementieren Sie diese zuerst, indem Sie sie im nächsten Monat kopieren können, und wenn sie entwickelt werden können, die Schichtbedingungen der einzelnen Mitarbeiter Oder ich möchte in der Lage sein, basierend auf der Urlaubsanfrage automatisch Schichten für den nächsten Monat oder den aktuellen Monat zu erstellen und diese manuell zu korrigieren.

Nach dem Kopieren aus dem Vormonat beim Erstellen einer Schicht wird die Schicht unter den Bedingungen jedes Mitarbeiters bearbeitet. Da dies in Excel erstellt wird, ist es problematisch. Ich habe die Erstellungsunterstützungsfunktion bereits in VBA erstellt, aber ...

Bedingung ist,

・ Normale Mitarbeiter arbeiten mehr als XX Stunden im Monat ・ Nur an welchem Tag arbeiten ・ Zwei Personen müssen von XX bis XX arbeiten ・ Das Personal kann in mehreren Einrichtungen arbeiten

Ich werde es von nun an in Form von Kopieren und Bearbeiten in diesem Monat schaffen, wenn ich es nächsten Monat mache. Grundsätzlich scheint es auf dem Tag des Tages zu basieren, daher möchte ich den ersten Montag in den nächsten Monat setzen.

Nach der Implementierung möchte ich nützliche Funktionen hinzufügen.

Ich habe auch über verschiedene Tische nachgedacht. Wenn es an einem Tag mehrere Schichtmuster gibt, habe ich darüber nachgedacht, sie so zu erstellen, dass es keine Rolle spielt, wie viele sie werden. Die Technologie fehlt immer noch, und aus Sicht des Benutzers spielt es keine Rolle, ob die Back-Table-Struktur sauber ist oder nicht. Zuallererst denken, dass es am besten ist, etwas bereitzustellen, das verwendet werden kann,

Datum USER ① Schichtmuster der Einrichtung ② Schichtmuster der Einrichtung ③ Schichtmuster der Einrichtung ④ Schichtmuster der Einrichtung

Ich werde es in Form von implementieren.

Es scheint schwierig zu sein, die erforderliche Arbeit von zwei oder mehr Personen von XX bis XX zu überprüfen, so dass sie möglicherweise erst später implementiert wird (lacht).

Ich dachte, dass die Einrichtungstabelle an verschiedenen Orten verwendet wird, also werde ich eine App für die Einrichtung erstellen

terminal


python3 manage.py startapp shisetsu

Fügen Sie nach dem Hinzufügen der App die App zur Einstellung hinzu

config/settigns.py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accounts.apps.AccountsConfig',
    'shisetsu'
]

Geben Sie das Modell der Einrichtung an. Stellen Sie sicher, dass Sie die Farben zur Klarheit angeben, wenn Sie grundlegende Informationen und Verschiebungstabellen anzeigen.

shisetsu/models.py


from django.db import models
from phonenumber_field.modelfields import PhoneNumberField

# Create your models here.
class Shisetsu(models.Model):
    id = models.IntegerField(verbose_name='Einrichtungs-ID',primary_key=True)
    name = models.CharField(verbose_name='Name der Einrichtung', max_length=50)
    adress = models.CharField(verbose_name='Adresse', max_length=100)
    tel = PhoneNumberField(verbose_name='Telefonnummer', null=True, blank=True) 
    fax = PhoneNumberField(verbose_name='Faxnummer', null=True, blank=True) 
    color = ColorField(verbose_name='Anzeigefarbe', default='#FF0000')

Ich werde auf der Admin-Site bearbeiten, also ändere admin.py.

shisetsu.py


from django.contrib import admin
from .models import Profile

# Register your models here.
admin.site.register(Profile)

Nachdem die Einstellungen abgeschlossen sind, migrieren Sie.

terminal


python3 manage.py makemigration

Bei der Implementierung ist ein Fehler aufgetreten.

from phonenumber_field.modelfields import PhoneNumberField

Ich habe es nicht, also denke ich, dass Sie es importieren sollten.

terminal


pip install django-phonenumber-field
pip install phonenumbers

image.png

Ich denke, dass die Installation abgeschlossen ist, also versuchen Sie es erneut.

Nächster,

terminal


color = ColorField(verbose_name='Anzeigefarbe', default='#FF0000')
NameError: name 'ColorField' is not defined

Ich bekomme hier einen Fehler.

terminal


pip install django-colorfield

Installieren Sie zwei Apps und fügen Sie sie zu den Apps in der Einstellungsdatei hinzu

config/settings.py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accounts.apps.AccountsConfig',
    'shisetsu',
    'colorfield',
    'phonenumber_field.modelfields',
]

Führen Sie die Migration erneut durch. image.png

Es scheint gelungen zu sein.

Ich werde es auf dem Verwaltungsbildschirm überprüfen.

Es wurde angezeigt. Als ich versuchte, mich zu registrieren, wurde eine Fehlermeldung mit meiner Telefonnummer angezeigt.

image.png

Ich denke, es unterscheidet sich vom Telefonnummernformat in Japan ... Also reparieren

python:config.setting.py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accounts.apps.AccountsConfig',
    'shisetsu',
    'colorfield',
]

Telefon-App entfernen

Modelle neu schreiben

shisetsu.py


from django.db import models
from colorfield.fields import ColorField

# Create your models here.
class Shisetsu(models.Model):
    id = models.IntegerField(verbose_name='Einrichtungs-ID',primary_key=True)
    name = models.CharField(verbose_name='Name der Einrichtung', max_length=50)
    adress = models.CharField(verbose_name='Adresse', max_length=100)
    tel = models.CharField(verbose_name='Telefonnummer', max_length=20) 
    fax = models.CharField(verbose_name='Faxnummer', max_length=20) 
    color = ColorField(verbose_name='Anzeigefarbe', default='#FF0000')

Dadurch wird eine weitere Migration durchgeführt. Sie haben es jetzt gespeichert.

image.png

Da die Einrichtungsinformationen die Registrierung nicht so stark aktualisieren, erstellen wir keinen Bearbeitungsbildschirm.

Recommended Posts

Erstellen Sie einen Django-Zeitplan
Erstellen Sie ein Modell für Ihren Django-Zeitplan
Erstellen Sie eine Homepage mit Django
Erstellen Sie einen Django-Anmeldebildschirm
Schritte zum Erstellen eines Django-Projekts
Erstellen Sie mit Django einen Datei-Uploader
Erstellen Sie mit Django einen LINE-Bot
Erstellen Sie ein Python-Modul
Erstellen Sie mit Django ein Dashboard für Netzwerkgeräte!
Erstellen Sie eine bootfähige LV
Erstellen Sie mit Django eine Hallo-Welt-Anwendung mit nur einer Datei
Erstellen Sie eine Python-Umgebung
So erstellen Sie eine Rest-API in Django
Bis Sie eine neue App in Django erstellen
Starten Sie ein Django-Projekt
Django Todo Listenerstellung
Erstellen Sie einen Slack Bot
Erstellen Sie eine Todo-App mit Django REST Framework + Angular
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 1 ~
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Todo-App mit Django erstellen ③ Aufgabenlistenseite erstellen
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 2 ~
Für mich als Django-Anfänger (1) -Erstellen eines Projekts / einer App-
Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-
Todo-App mit Django erstellen ⑤ Funktion zum Bearbeiten von Aufgaben erstellen
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 3 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 4 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~
Erstellen Sie eine Django-Umgebung mit Docker-Compose (MariaDB + Nginx + uWSGI).
Erstellen Sie ein Wox-Plugin (Python)
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie eine API mit Django
Django-Anfänger erstellen einfache Apps 3
Django-Anfänger erstellen einfache Apps 1
Erstellen Sie einen (einfachen) REST-Server
ToDo-Listenerstellung [Python Django]
Shell zum Erstellen eines Django-Projekts
[Django] Erstellen Sie ein Pulldown-Menü
Erstellen Sie ein Python-Numpy-Array
Erstellen Sie eine Dummy-Datendatei
Django-Anfänger erstellen einfache Apps 2
Erstellen Sie Ihre eigene Django-Middleware
Erstellen Sie ein Klassenzimmer auf Jupyterhub
Erstellen Sie einen einfachen Textlint-Server
Erstellen und listen Sie Django-Modelle auf
Erstellen Sie ein Verzeichnis mit Python
Django-Anfänger erstellen einfache Apps 5
Erstellen Sie einen rudimentären ELF-Packer
Erstellen Sie eine Shogi Score Management App mit Django 4 ~ Create View ~
[Django] Erstellen Sie ein Modell, das für Telefonnummer / Postleitzahl geeignet ist
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen Sie mit Django eine API für die soziale Integration von Smartphone-Apps
[Python] Erstellen Sie mit Django einen Bildschirm für den HTTP-Statuscode 403/404/500
Erstellen Sie mit Flask einen CSV-Reader
Erstellen Sie mit tkinter eine Python-GUI