[PYTHON] Zur Zeit derjenige, der mit Django im Handumdrehen eine Homepage erstellt und diese auf Heroku veröffentlicht (Windows-kompatibel)

Es gibt eine Bibliothek namens Django, mit der Sie Web-Apps mit Python erstellen können. In letzter Zeit scheint es besser zu sein, PaaS zu verwenden, als beim Veröffentlichen eines Webdienstes einen Server zu mieten. Als Überprüfung für mich selbst werde ich das Verfahren zusammenfassen, indem ich eine Homepage mit Django erstelle, sie für Heroku bereitstelle und sie veröffentliche. Aus irgendeinem Grund sind viele dieser webbezogenen technischen Artikel für Mac bestimmt, aber dieser Artikel ist mit Windows kompatibel.

Aufbau einer virtuellen Umgebung

Erstellen Sie auf jeden Fall eine virtuelle Umgebung. Dieser Artikel verwendet Anaconda, aber pipenv kann alles sein. Im schlimmsten Fall können Sie die lokale Python-Umgebung so verwenden, wie sie ist, aber ich empfehle sie nicht, da require.txt großartig ist, wenn Sie später pip freeze ausführen. Es besteht auch eine hohe Wahrscheinlichkeit von Moos bei der Bereitstellung.

C:\Users\hoge>conda create -n django-heroku python==3.7
C:\Users\hoge>conda activate django-heroku
(django-heroku) C:\Users\hoge\testproject>conda install django==2.2

Die Version von Python ist nicht so streng, also denke ich, dass alles in Ordnung ist, aber irgendwie spezifiziere ich "3.7". Unter hier finden Sie unterstützte Versionen.

Django-Projekterstellung

(django-heroku) C:\Users\hoge\testproject>django-admin startproject testproject .  
(django-heroku) C:\Users\hoge\testproject>python manage.py startapp testapp

Bearbeiten Sie den Teil "INSTALLED_APPS" von "C: \ Users \ hoge \ testproject \ testproject \ settings.py" wie folgt.

settings.py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'testapp',#hinzufügen
]

Zu diesem Zeitpunkt sollten Sie es bereits auf Ihrem lokalen Server sehen können.

(django-heroku) C:\Users\hoge\testproject>python manage.py runserver

Wenn Sie eine Verbindung zu http://127.0.0.1:8000/ herstellen, ist dies wie folgt.

image.png

Nur Zeichen anzeigen

Ich werde die Zeichen darauf anzeigen.

Bearbeiten Sie C: \ Users \ hoge \ testproject \ testproject \ urls.py wie folgt.

urls.py


from django.contrib import admin
from django.urls import path

from django.urls import include #hinzufügen

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include("testapp.testappurls")) #hinzufügen
]

Erstellen Sie eine Datei mit dem Namen "testappurls.py" unter "C: \ Users \ hoge \ testproject \ testapp" (standardmäßig nicht vorhanden). Bearbeiten Sie die Datei wie folgt.

testappurls.py


from django.urls import path
from . import views

app_name = 'testapp'

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

Bearbeiten Sie C: \ Users \ hoge \ testproject \ testapp \ views.py wie folgt.

views.py


from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse #hinzufügen


def index(request):#hinzufügen
    return HttpResponse('Harowa')#hinzufügen

Die Anzeige von http://127.0.0.1:8000/ sollte folgendermaßen aussehen:

image.png

Bereitstellen

Stellen Sie dies bereit. Wir werden einige Einstellungsdateien erstellen.

(django-heroku) C:\Users\hoge\testproject>echo web: gunicorn testproject.wsgi --log-file - > Procfile
(django-heroku) C:\Users\hoge\testproject>echo python-3.7.0 > runtime.txt
(django-heroku) C:\Users\hoge\testproject>pip install django-heroku
(django-heroku) C:\Users\hoge\testproject>pip install gunicorn
(django-heroku) C:\Users\hoge\testproject>pip freeze > requirements.txt

Derzeit handelt es sich um eine lokale Debug-Umgebung. Machen Sie es daher zu einer Produktionsumgebung. Bearbeiten Sie die Teile "DEBUG" und "ALLOWED_HOSTS" von "C: \ Users \ hoge \ testproject \ testproject \ settings.py" wie folgt.

settings.py


# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']

Erstellen Sie ein Git-Repository und senden Sie es an Heroku. Es wird davon ausgegangen, dass Sie die CLI (Command Line Instance Face) von Git und Heroku bereits installiert haben.

(django-heroku) C:\Users\hoge\testproject>git init
(django-heroku) C:\Users\hoge\testproject>git add .
(django-heroku) C:\Users\hoge\testproject>git commit -m "first commit"
(django-heroku) C:\Users\hoge\testproject>heroku login
(django-heroku) C:\Users\hoge\testproject>heroku create hibit-webpage-test
(django-heroku) C:\Users\hoge\testproject>heroku config:set DISABLE_COLLECTSTATIC=1
(django-heroku) C:\Users\hoge\testproject>git push heroku master

Jetzt ist es veröffentlicht!

Gehen Sie zu https://hibit-webpage-test.herokuapp.com/ und Sie sollten so etwas sehen:

image.png

wichtiger Punkt

Vorerst wollte ich nur Webinhalte (nur Zeichen) als URL veröffentlichen, daher denke ich nicht an Datenbankmigration oder Sicherheit. Ich werde eine Fortsetzung als Antwort auf viele seltsame Dinge schreiben.

Seite, für die gesorgt wurde

https://qiita.com/noraricl/items/08937a508a2abecc7179 https://qiita.com/frosty/items/66f5dff8fc723387108c

Recommended Posts

Zur Zeit derjenige, der mit Django im Handumdrehen eine Homepage erstellt und diese auf Heroku veröffentlicht (Windows-kompatibel)
Sammle Katzenbilder in Sekundenschnelle und ziele auf den Stamm der Cat Hills
Führen Sie yolov4 "vorerst" in Windows aus
Bis Sie Blender installieren und vorerst mit Python ausführen können
Ich habe vorerst versucht, PIFuHD unter Windows auszuführen
Zusammenfassung des mit einer Geschwindigkeit von einer Sekunde durchgeführten Bildcrawls
Bis zum Start des Django-Tutorials mit Pycharm unter Windows
Die Geschichte, ein Tool zu erstellen, das auf Mac und Windows auf der Spieleentwicklungsseite ausgeführt wird
Laden Sie Daten mit einem Befehl und einer Aktualisierung auf s3 von aws hoch und löschen Sie die verwendeten Daten (unterwegs).
Ich habe die Geschwindigkeit der Listeneinschlussnotation für und während mit Python2.7 gemessen.
Die zweite Nacht der Runde mit für
Vor- und Nachteile von Django, die Menschen mit einjähriger Erfahrung denken
Definieren Sie den Teilungswert in Django und spiegeln Sie ihn einfach auf dem Bildschirm wider
Drehen Sie in Python mehrere Listen mit for-Anweisung gleichzeitig