[PYTHON] Versuchen Sie es mit der Vorlagenfunktion von Django

Überblick

Dieser Artikel führt Sie durch die Schritte eines Anfängers, der einen Gutscheinverteilungsdienst für das iPhone mit einer RESTful-API und schnell entwickelt. Es ist eine sehr Umweg-Implementierung, da sie implementiert wurde, während die technischen Elemente einzeln untersucht wurden.

Die Vorlagenfunktion von Django ist von Natur aus nicht erforderlich, aber ich werde sie zum Lernen ausprobieren. Basierend auf dem Code, der in der vorherigen [Versuchen Sie, eine einfache Web-API mit (für Anfänger) Django] zu erstellen](https://qiita.com/Ajyarimochi/items/ce072d91a2c00cd0d861) erstellt wurde.

Referenz

Python Django Super Einführung von Yano Palm Tatsu Hidekazu System

Umgebung

Mac OS 10.15 VSCode 1.39.2 pipenv 2018.11.26 Python 3.7.4 Django 2.2.6

Web-API-Spezifikationen

Wenn Sie einen Gutscheincode per URL anfordern, wird der Inhalt des Gutscheins, der dem Gutscheincode zugeordnet ist, in einer Vorlage angezeigt.

Verfahren

Nehmen Sie die folgenden Änderungen am Code vor, der in (Für Anfänger) Erstellen einer einfachen Web-API mit Django erstellt wurde.

Registrieren Sie Ihre Anwendung, um die Django-Funktionen nutzen zu können

Fügen Sie einfach den App-Namen (Coupon) zu INSTALLED_APPS in settings.py unter dem Ordner Projektname hinzu.

settings.py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'coupon', #Zeile hinzugefügt
]

Erstellen Sie eine HTML-Datei für die Vorlage

Erstellen Sie ein "Vorlagen" -Verzeichnis unter dem "Coupon" -Verzeichnis und erstellen Sie dann ein "Coupon" -Verzeichnis unter dem "Vorlagen" -Verzeichnis. (Aufgrund der Dateireferenzspezifikationen von django wird empfohlen, das Verzeichnis zu duplizieren, um mehrere index.html-Dateien zu erstellen.)

Erstellen Sie index.html im erstellten Gutscheinverzeichnis. Der Name des Gutscheins ist vorläufig und wird Amigo-Gutschein sein.

index.html


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>Amigo Gutschein</title>
</head>
<body>
    <h1>Amigo Gutschein</h1>
    <p>
        <ul>
            <li>Gutscheincode:{{coupon_code}}</li>
            <li>Leistungen:{{coupon_benefits}}</li>
            <li>Haltbarkeitsdatum:{{coupon_deadline}}</li>
            <li>{{message}}</li>
        </ul>
    </p>
</body>
</html>

Views.py wurde so geändert, dass die Renderfunktion Werte an die Vorlage senden kann

Ändern Sie wie folgt.

views.py


from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def coupon(request):
    if 'coupon_code' in request.GET:
        coupon_code = request.GET['coupon_code']
        if coupon_code == '0001':
            benefit = '1000 Yen Rabatt Gutschein!'
            deadline = '2019/10/31'
            message = ''
        elif coupon_code == '0002':
            benefit = '10%Gutschein ziehen!'
            deadline = '2019/11/30'
            message = ''
        else:
            benefit = 'NA'
            deadline = 'NA'
            message = 'Nicht gefundener Gutschein verfügbar'

        params = {
            'coupon_code':coupon_code,
            'coupon_benefits':benefit,
            'coupon_deadline':deadline,
            'message':message,
        }
        return render(request, 'coupon/index.html', params)

Funktionsprüfung

Starten Sie nach dem Speichern der Änderungen den Webserver von django und greifen Sie mit Ihrem Browser auf die folgende URL zu. http://127.0.0.1:8000/coupon/?coupon_code=0001 test-coupon-6a-0001.png

Versuchen Sie, die Coupon_Code-Anforderung in 0002, 0007 zu ändern. test-coupon-6a-0002.png test-coupon-6a-0007.png

das ist alles.

Nächstes Mal kann ich es mit git verwalten, um zukünftige Codeänderungen vorzubereiten

Recommended Posts

Versuchen Sie es mit der Vorlagenfunktion von Django
Versuchen Sie es mit der Entwurfsfunktion von Pelican
Versuchen Sie, die Remote-Debugging-Funktion von PyCharm zu verwenden
Versuchen Sie es mit Tkinter
Versuchen Sie es mit Docker-Py
Versuchen Sie es mit einem Ausstecher
Versuchen Sie es mit Geopandas
Versuchen Sie es mit Selen
Versuchen Sie es mit scipy
Versuchen Sie es mit pandas.DataFrame
Versuchen Sie es mit Django-Swiftbrowser
Versuchen Sie es mit matplotlib
Versuchen Sie es mit tf.metrics
Versuchen Sie es mit PyODE
Versuchen Sie es mit virtualenv (virtualenvwrapper)
Versuchen Sie es jetzt mit virtualenv
Versuchen Sie es mit Django templates.html
[Kaggle] Versuchen Sie es mit LGBM
Versuchen Sie es mit dem Feed-Parser von Python.
Versuchen Sie es mit Pythons Tkinter
Versuchen Sie es mit Tweepy [Python2.7]
Versuchen Sie es mit Pytorchs collate_fn
Versuchen Sie, PythonTex mit Texpad zu verwenden.
[Python] Versuchen Sie, Tkinters Leinwand zu verwenden
Versuchen Sie es mit Jupyters Docker-Image
Versuchen Sie es mit Scikit-Learn (1) - K-Clustering nach Durchschnittsmethode
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie es mit Azure Logic Apps
Versuchen Sie es mit Kubernetes Client -Python-
Feature-Erkennung mit opencv (Eckenerkennung)
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit OpenCV unter Windows
Versuchen Sie, Jupyter Notebook dynamisch zu verwenden
Versuchen Sie es mit AWS SageMaker Studio
Versuchen Sie, automatisch mit Selen zu twittern.
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 1)
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Versuchen Sie es mit der PeeringDB 2.0-API
Versuchen Sie es mit pytest-Overview und Samples-
Versuchen Sie es mit Folium mit Anakonda
Versuchen Sie es mit der Admin-API von Janus Gateway
Versuchen Sie es mit Spyder, das in Anaconda enthalten ist
Versuchen Sie es mit Designmustern (Exporter Edition)
Versuchen Sie es mit Pillow auf iPython (Teil 1)
Einfache Rastersuchvorlage mit Scikit-learn
Schauen Sie sich die Django-Vorlage an.
Versuchen Sie es mit Pillow auf iPython (Teil 2)
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen Sie, Nagios mit pynag zu konfigurieren
Versuchen Sie es mit ArUco mit Raspberry Pi
Versuchen Sie es mit billigem LiDAR (Camsense X1)
[Sakura-Mietserver] Versuchen Sie es mit einer Flasche.
Versuchen Sie es mit Pillow auf iPython (Teil 3).
Stärkung des Lernens 8 Versuchen Sie, die Chainer-Benutzeroberfläche zu verwenden
Versuchen Sie, Statistiken mit e-Stat abzurufen
Versuchen Sie es mit der Aktions-API von Python argparse
Probieren Sie das offizielle Django-Tutorial von Anfang an aus
Beschränken Sie Ansichten mithilfe des Berechtigungsmodells von Django