[PYTHON] Bonjour tout le monde pas localhost à Django

introduction

Au moment du travail, il est installé sur Google Cloud Platform. Dans Hello World of Django, je pense que cela se fait souvent sur localhost, mais il est écrit pour décrire le flux de déploiement. Comme prémisse, il est supposé que Draw hello world avec mod_wsgi est exécuté. (Parce que mod_wsgi est requis)

environnement OS: Debian 9.0 stretch Python: 3.6.3

Installation de Django

Je vais l'installer immédiatement. On suppose que Python est déjà installé. Tout d'abord, mettez à jour pip et installez Django.

pip install --upgrade pip
pip install django

... est-il vraiment installé? Essayez de taper ce qui suit dans l'ordre.

python
>>> import django
>>> django.get_version()
'2.1.5'

Si vous pouvez confirmer la version de cette manière, l'installation est réussie. Tapez ensuite `` quit () '' pour quitter le mode python.

Créer un projet Django

Accédez à votre répertoire personnel et créez un projet Django. (Il n'est pas nécessaire que ce soit votre répertoire personnel)

cd ~
django-admin startproject myproject

Le projet Django est maintenant créé directement sous le répertoire HOME.

Changer le fichier de configuration apache2

Modifiez le fichier de configuration apache2 (sites-available / 000-default.conf) afin que wsgi.py dans Django réponde pour accéder à la racine du document.

cd /etc/apache2/sites-available
sudo vim 000-default.conf

documentrootCommenter(Comme ça →# documentroot /var/www/html)S'il vous plaît. Si vous avez défini WSGIScriptAlias``` dans [Draw hello world with mod_wsgi](http://qiita.com/shigechioyo/items/2b25f60918be6b81581a), supprimez-le également. Ajoutez ensuite ce qui suit: N'oubliez pas de changer la partie USERNAME D'ailleurs, dans vim, vous pouvez le remplacer par ``:% s / USERNAME / YOURNAME / g```.

WSGIScriptAlias / /home/USERNAME/myproject/myproject/wsgi.py
WSGIPythonPath /home/USERNAME/myproject

<Directory /home/USERNAME/myproject/myproject>
    <Files wsgi.py>
    Order deny,allow
    AllowOverride None
    require all granted
    </Files>
</Directory>

Modifiez settings.py dans le fichier de paramètres de django

Comme le nom du fichier l'indique, modifiez les paramètres liés à Django. Ici, nous éditons le fichier avec vim.

cd ~/myproject/myproject
vim settings.py

Tout d'abord, nous devons définir les hôtes auxquels vous pouvez accéder, changez donc ALLOWED_HOSTS = [].

ALLOWED_HOSTS = ["*"]

Modifiez ensuite les paramètres de langue et d'heure.

LANGUAGE_CODE = 'ja'

TIME_ZONE = 'Asia/Tokyo'

Créer une application Django

Jusqu'à présent, vous avez créé un projet Django. Ensuite, créez une application Django. Utilisez `` manage.py '' comme d'habitude.

cd ~/myproject
python manage.py startapp myapp

Ensuite, la structure hiérarchique suivante doit être complétée.

myproject
  |
  ├── myapp
  │     ├── __init__.py
  │     ├── admin.py
  │     ├── apps.py
  │     ├── migrations
  │     │   └── __init__.py
  │     ├── models.py
  │     ├── tests.py
  │     └── views.py
  ├── db.sqlite3
  ├── manage.py
  └── myproject
      ├── __init__.py
      ├── settings.py
      ├── urls.py
      └── wsgi.py

Ensuite, modifiez settings.py '' pour reconnaître l'application myapp.

cd ~/myproject/myproject
vim settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp'
]

En ajoutant `` myapp '' de cette manière, l'application créée sera reconnue.

Modifier views.py

Créez la partie de dessin de l'écran. Modification de views.py dans le dossier myapp.

cd ~/myproject/myapp
vim views.py
from django.shortcuts import render
from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django World")

Modifier urls.py

Créez la logique pour laquelle la vue doit être renvoyée pour l'URL de la demande côté client.

cd ~/myproject/myproject
vim urls.py
from django.contrib import admin
from django.urls import path
from myapp.views import home

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home),
]

Enfin, redémarrez apache2.

sudo service apache2 restart

Cela devrait attirer * Hello Django World *. Ensuite, je prévois de changer la base de données en PostgreSQL.

Recommended Posts

Bonjour tout le monde pas localhost à Django
Hello World avec Django
Hello World (débutant) avec Django
Faisons "Hello World" en 40 langues! !!
Implémentation de la fonction de connexion dans Django
cout << "Hello, World! \ N" en python
Hello World avec Flask [Mémo approprié]
Code: 2 "Hello World" dans "Choregraphe-Python script"
Premiers pas avec Heroku-Viewing Hello World en Python Django avec Raspberry PI 3
Bonjour le monde
R: Utilisez le japonais au lieu du japonais dans le script
(Pour moi) Django_1 (Basic / Hello World / Template)
Comment afficher Hello World en python
Hello World avec gRPC / go dans l'environnement Docker
Bonjour tout le monde avec toutes les fonctionnalités du langage Go
Modèle dans Django
Pymacs helloworld
L'histoire de l'affichage des fichiers multimédias dans Django
Créez une application Hello World avec un seul fichier avec django
Pour moi en tant que débutant Django (3) - Bonjour tout le monde! ---
Formulaire à Django
cython helloworld
L'histoire de la création de l'environnement Linux le plus rapide au monde
Étude depuis le début de Python Hour1: Hello World
Explication sur l'erreur NoReverseMatch dans "python django super introduction"
web2py Remarque: Bonjour le monde
bonjour le monde avec ctypes
Impressions de toucher Django
Tutoriel RabbitMQ 1 ("Hello World!")
Bonjour le monde avec Docker
Le premier Hello World de Django
Bonjour le monde sur flacon
J'ai participé à l'activité de traduction du document officiel Django
Résumé des points d'achoppement à Django pour la première fois
Hello World dans divers langages [Python / PHP / Java / Perl / Ruby]
Django a changé pour enregistrer beaucoup de données à la fois