[PYTHON] Django Umweltbau

■ Generieren einer Django-Projektdatei

django-admin startproject ‘Projektname'

Erstellen Sie ein Projektverzeichnis im aktuellen Verzeichnis

■ Grundeinstellung von settings.py im Projekt (allgemeiner Rahmen)

LANGUAGE_CODE = ‘ja/'
TIMEZONE = ‘Asia/Tokyo’

■ Erstellen Sie so viele Django-Anwendungen, wie Sie benötigen In dem Verzeichnis, in dem sich manage.py befindet (beachten Sie, dass derselbe Dateiname wie der Projektname vorhanden ist).

python3 manage.py startapp ‘App name'

Die Datenbankdatei (sqlite3) und die oben angegebene Anwendungsdatei werden generiert

■ Registrieren Sie die mit settings.py erstellte Anwendung auf der Projektseite

INSTALLED_APPS = [ …

Schreiben Sie im Inneren den App-Namen + .apps. + App-Namen (beginnend mit Großbuchstaben) + Config (Beispiel: App-Name → myapp)

‘myapp.apps.MyappConfig’

■ Importieren Sie die Include-Funktion mit urls.py auf der Projektseite

from django urls import path, include

Außerdem wurde hinzugefügt, dass es dem Routing von urls.py in der Anwendung folgt, die von urlpatterns von urls.py generiert wird

urlpatterns = [
    …
    path(‘myapp/‘, include(‘myapp.urls’))
]

path関数の最初の引数は、ルートディレクトリの次のURL(~.com/xxxx/のxxxx) Es kann geschrieben werden, indem die URL in der URL in der App angegeben wird, die durch das folgende Argument angegeben wird

■ Erstellen Sie eine urls.py-Datei in Ihrer Anwendung

from django.urls import path
from . import views

app_name = 'myapp'

urlpatterns = [
    path('', views.index, name='index')
]

from. import views ist grundsätzlich in Ordnung, um die zweite Zeile der Django-App so zu schreiben Anzeigen der Ansichtsdatei im Anwendungsverzeichnis

urlpatterns leitet weiter

■ Der in views.py beschriebene Inhalt wird angezeigt (Beispielcode unten)

from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello World')

■ Erstellen Sie tatsächlich ein Verzeichnis namens Vorlagen und bearbeiten Sie es ・ Erstellen Sie ein Vorlagenverzeichnis in der Django-App

■ views.py ist so eingestellt, dass Vorlagen eingelesen werden

from django.shortcuts import render

def index(request):
    context = {
        ’name’ = ‘xxxx'
    }
    return render(request, ‘myapp/index.html’, context)

Das erste Argument der Renderfunktion gibt immer eine Anfrage zurück

Sie können Variablen in geschweiften Klammern wie {{}} in index.html (Vorlagenmethode) übergeben. Bereiten Sie für Variablen ein "Wörterbuch" im Kontext vor und zeigen Sie den zugehörigen Wert an, indem Sie den Schlüssel als Variable aufrufen.

■ Bearbeiten von models.py

from django.db import models
from django.utils import timezone


class Day(models.Model):
    title = models.CharField('Titel', max_length=200)
    text = models.TextField('Text')
    date = models.DateTimeField('Datum', default=timezone.now)

Ein Modell machen (models.Model) erstellt eine eindeutige Klasse, die models.Model erbt

timezone.now

Es gibt viele andere Bereiche

■ Migrationen durchführen (Änderungen und Kreationen benachrichtigen) Registrieren Sie die erstellte Klasse bei db, wenn Sie das Modell berühren

python3 manage.py makemigrations

■ migrieren (reflektieren)

python3 manage.py migrate

■ Verwenden Sie den Administratorbildschirm

Einen Superuser erstellen

python3 manage.py createsuperuser

/ admin wird verfügbar sein.

■ Testnotiz posts/tests.py

Lassen Sie den Test so aussehen, als ob der angemeldete Benutzer einen Blog-Beitrag erstellen kann, indem Sie den Titel und den Text eingeben.

from django.test import TestCase
from django.contrib.auth.models import User


from .models import Post


class BlogTests(TestCase):
    @classmethod
    def setUpTestData(cls):
        # Create a User
        testuser1 = User.objects.create_user(
            username='testuser1',
            password='abc123!'
        )
        testuser1.save()


        # Create a blog post
        test_post = Post.objects.create(
            author=testuser1,
            title='Blog title',
            body='Body content...'
        )
        test_post.save()


    def test_blog_content(self):
        post = Post.objects.get(id=1)
        expected_author = f'{post.author}'
        expected_title = f'{post.title}'
        expected_body = f'{post.body}'
        self.assertEquals(expected_author, 'testuser1')
        self.assertEquals(expected_title, 'Blog title')
        self.assertEquals(expected_body, 'Body content...')

Wenn der lokale Server ausgeführt wird, stoppen Sie ihn mit Strg + c und drücken Sie zum Testen den folgenden Befehl vom Terminal aus.

(blogapi-H-RPCYMU) $ python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 0.125s


OK
Destroying test database for alias 'default'...

Djangos Testcode scheint so geschrieben zu sein.

Recommended Posts

Django Umweltbau
Django Umweltbau
Bau der Django-Projektumgebung
Django Entwicklungsumgebung Bau Memo
Docker + Django + Umgebungskonstruktion reagieren
Django Projekt Entwicklungsumgebung Bau
Mac + Eclipse (PyDev) + Django-Umgebungskonstruktion
DeepIE3D-Umgebungskonstruktion
Emacs-basierte Umgebungskonstruktion
Aufbau einer Linux-Umgebung
[Django] Memorandum of Environment Construction Procedure
Umgebungskonstruktion (Python)
[Für Anfänger] Django -Entwicklungsumgebung Bau-
CodeIgniter-Umgebungskonstruktion
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Golang Umweltbau
Umgebungskonstruktion von word2vec
Umgebungskonstruktion: GCP + Docker
ConoHa Umweltbau Memo
Homebrew Python Umgebung Konstruktion
PyData-bezogene Umgebungskonstruktion
Aufbau einer Anaconda-4.2.0-Python3-Umgebung (Mac)
Aufbau einer Python-Entwicklungsumgebung
YOLO v4 Umgebungskonstruktion ①
Bau von Pyenv + Fischumwelt
python2.7 Konstruktion der Entwicklungsumgebung
BigGorilla Umwelt Bau Memo
Griffumgebungskonstruktion onCentOS6.5
Anaconda Umwelt Bau Memo
Golang Umweltbau [goenv]
Pyxel-Umgebungskonstruktion (Mac)
[Memo] Django-Entwicklungsumgebung
Python-Umgebungskonstruktion @ Win7
[Django3] Umgebungskonstruktion und Zusammenfassung verschiedener Einstellungen [Python3]
Von 0 bis Django Entwicklungsumgebung Konstruktion bis Grundbetrieb
[Ubuntu 18.04] Aufbau einer Tensorflow 2.0.0-GPU-Umgebung
Python + Anaconda + Pycharm-Umgebungskonstruktion
Informationen zum Aufbau einer Linux-Umgebung (CentOS)
Minimale Konfigurations-Website-Umgebung mit Django
Aufbau einer PyTorch C ++ (LibTorch) -Umgebung
Anaconda-Umgebungskonstruktion auf CentOS7
Django Erste Schritte: 1_Umgebungsgebäude
Erste LAMP-Umgebungskonstruktion (Linux)
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
Umgebung
CI-Umgebungskonstruktion ~ Python Edition ~
Django
[Memo] Bau einer Cygwin-Umgebung
Aufbau einer Python-Umgebung für Mac
Konstruktionsverfahren für die Anaconda3-Python-Umgebung
Anaconda3 × Pycharm-Umgebungskonstruktionsnotiz
Python3-Umgebungskonstruktion (für Anfänger)
Python-Umgebungskonstruktion und TensorFlow