Dies ist ** 4th **, ein Memorandum zur Erstellung einer Shogi Score Management App mit Django.
Die Arbeitsumgebung ist diesmal wie folgt
Außerdem sieht die Verzeichnisstruktur von Django folgendermaßen aus:
- kifu_app_project/
- kifu_app_project/
- __init__.py
- setting.py
- urls.py
- wsgi.py
- kifu_app/
- migrations/
- __init__.py
- admin.py
- apps.py
- models.py
- tests.py
- views.py
- manage.py
- .gitignore
--URL Einstellung
Stellen Sie zuerst die URL ein. Entscheide, dass "wenn du zu dieser URL kommst, mache diese Methode!" Die Funktion, die auf diese Weise bestimmt, welche Art von Seite für die angegebene URL angezeigt wird, wird als "URL-Dispatcher" bezeichnet.
Darüber hinaus wird entschieden, dass das Verhalten dieses URL-Dispatchers in eine Konfigurationsdatei namens "URLConf" geschrieben wird. In Django ist urls.py die URLConf.
Das Folgende ist Referenzmaterial.
[[Einführung in Django] Rollen und Verwendung von urls.py (URLConf)] 1
Laden Sie zunächst die URL-Einstellungen in die Anwendung kifu_app für das gesamte Django-Projekt. Bearbeiten Sie urls.py im inneren kifu_app_project wie folgt.
kifu_app_project/urls.py
"""kifu_app_project URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include #add include
urlpatterns = [
path('kifu_app/', include('kifu_app.urls')), #hinzufügen
path('admin/', admin.site.urls),
]
Die URL-Einstellungen in kifu_app sind jetzt geladen!
Geben Sie als Nächstes die detaillierte URL in der Anwendung kifu_app an.
Erstellen Sie urls.py in kifu_app.
Was Sie mit dieser urls.py machen, ist
kifu_app/urls.py
from django.urls import path
from . import views # 1.
app_name = 'kifu_app' # 2.
urlpatterns = [
path('', views.index, name='index'), # 3.
]
Beschreiben Sie die URL im ersten Argument der Pfadfunktion und die Methode, die im zweiten Argument aufgerufen werden soll. Das dritte Argument (Namensattribut) kann Birne sein, aber wenn Sie es angeben, wird es später einfacher.
Zuvor wurde in urls.py in kifu_app_project die URL der Anwendung kifu_app auf "kifu_app /" gesetzt. Beachten Sie beispielsweise, dass die URL, unter der index.html angezeigt wird, * localhost: 8000 / kifu_app / * lautet.
Erstellen Sie als Nächstes eine Methode, die auf der Serverseite ausgeführt werden soll, wenn die Vorlage (Bildschirm) angezeigt wird. Auf diese Weise können Sie die Daten dynamisch anzeigen.
Zuvor habe ich geschrieben, dass die Indexmethode in urls.py aufgerufen wird, also werde ich die Indexmethode tatsächlich erstellen. Versuchen wir hier, das heutige Datum zu ermitteln und an die Vorlage zu übergeben.
views.py
from django.shortcuts import render
# Create your views here.
import datetime
def index(request):
today = datetime.date.today()
return render(request, 'index.html', {'today': today})
Die Ansicht wird angezeigt, indem die Rendermethode zurückgegeben wird. Das Argument ist --Variable Anfrage, --Template Dateiname
Schließlich erstellen wir den eigentlichen Bildschirm (Vorlage).
In View habe ich geschrieben, dass ich Daten an index.html übergeben werde, also werde ich index.html erstellen. Schreiben ist fast dasselbe wie HTML schreiben.
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Kifu APP</title>
</head>
<body>
<h3>{{ today }}</h3>
</body>
</html>
Wenn Sie die von View übergebene Variable verwenden möchten, schreiben Sie den Schlüssel des Wörterbuchs in {{}}
.
Starten Sie nun den Server und lassen Sie uns darauf zugreifen! Es ist in Ordnung, wenn das heutige Datum herauskommt!
[DB-Daten an Vorlage übergeben] 2
Recommended Posts