Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)

Überblick

Wir werden eine Webanwendung mit Django erstellen, einem Webframework von Python. Ich bin ein Netzwerktechniker und ein Anfänger in der Entwicklung von Webanwendungen Ich schreibe vom Standpunkt des Aufbaus einer Infrastrukturumgebung auf Nullbasis mit der Absicht, Memoranden und Verfahren zusammenzufassen.

Als ich anfing zu schreiben, wurde es ein riesiges Memo, also teilte ich es in ungefähr 3 Mal. Zum ersten Mal werden wir hauptsächlich den Umweltbau vorstellen.

Wenn Sie plötzlich eine Django-App erstellen möchten, beginnen Sie bitte hier. [Webanwendung mit Python3.4 + Django (Teil 2 App-Entwicklung)] (http://qiita.com/taijijiji/items/343fb56ab94eee28c401)

Python-Webframework

Wenn es um die Entwicklung von Webanwendungen in Japan geht, sind Ruby und sein Webframework Ruby on Rails überwältigend bekannt. Python hat auch mehrere Web-Frameworks, von denen zwei berühmt und weit verbreitet sind.

Django Es ist das am häufigsten verwendete Python-Webframework. Es handelt sich um ein All-in-One-Webframework, das eine Vorlagen-Engine, ORM (eine Funktion zum Zuordnen von Objekten in einer Datenbank und einem Programm), eine Testfunktion und eine japanische Lokalisierungsfunktion enthält. Es gibt auch eine praktische Funktion, die automatisch eine GUI für den Administrator der Webanwendung generiert. Da viele Zieldateien zu betreiben sind, entstehen Lernkosten, aber da sie auch mit tatsächlichen Diensten ausreichend betrieben werden können, kann sie für eine lange Zeit verwendet werden.

Flask Flask ist ein leichtes Webframework, das nach Django das zweitbeliebteste zu sein scheint. Im Vergleich zum All-in-One-Typ Django hat es eine kleinere Dateistruktur und geringere Lernkosten. Es eignet sich für die Entwicklung kleiner Webanwendungen, die keine Datenbank verwenden. Wenn Sie eine umfangreiche Webanwendung erstellen möchten, entwickeln Sie diese, indem Sie andere Python-Pakete kombinieren.


Darüber hinaus verfügt Python über Web-Frameworks wie Bottle, Pyramid, Tornade und Plone. Im Moment scheinen die beiden oben genannten sehr oft verwendet zu werden.

Dieses Mal werden wir eine Webanwendung mit Django entwickeln. Bei der Entwicklung einer Webanwendung für den geschäftlichen Gebrauch kann Django verwendet werden, um eine Vielzahl von Funktionen abzudecken. Es mag Ihnen zunächst schwer fallen, aber es ist eine gute Idee, sich frühzeitig an Django zu gewöhnen. Mit Django können Sie auch den modernen Webentwicklungsprozess erlernen.

Umgebung

Zunächst werden wir mit dem Bau der Umwelt fortfahren. Wir werden mit der Entwicklung in der folgenden Umgebung fortfahren.

Erstellen Sie mit Vagrant eine virtuelle Maschine

Vagrant ist nützlich, wenn Sie häufig virtuelle Maschinen für Entwicklungszwecke erstellen oder zerstören. Mithilfe der Ordnerfreigabefunktion von Vagrant können Sie die Dateien auf der virtuellen Maschine auch mit dem bekannten Texteditor der Hostmaschine bearbeiten. Sie können Ihre Anwendung einfach entwickeln.

Erstellen Sie zunächst ein entsprechendes Verzeichnis.

% mkdir django_apps
% cd django_apps

Erstellen Sie als Nächstes eine vagabundierende Konfigurationsdatei mit dem folgenden Befehl.

% vagrant init

Anschließend wird die folgende Datei erstellt.

% ls -al
total 8
drwxr-xr-x   3 taiji  staff   102  9 18 01:04 ./
drwxr-xr-x  18 taiji  staff   612  9 18 01:03 ../
-rw-r--r--   1 taiji  staff  3016  9 18 01:04 Vagrantfile

Laden Sie als Nächstes das in der Vagrant-Box veröffentlichte CentOS 7-Image herunter und installieren Sie es. Laden Sie zunächst die unter http://www.vagrantbox.es/ veröffentlichte CentOS 7-Boxdatei herunter. (Der Vorgang dauert einige Minuten.)

% vagrant box add centos70 https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box

==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos70' (v0) for provider:
    box: Downloading: https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box
==> box: Successfully added box 'centos70' (v0) for 'virtualbox'!

Bearbeiten Sie die Vagrant-Datei und ändern Sie sie wie folgt. Ich habe auch Netzwerkeinstellungen für den http-Zugriff auf Webanwendungen hinzugefügt, die mit Django erstellt wurden.

Vagrant.configure(2) do |config|
   config.vm.box = "centos70"
   config.vm.network "private_network", ip: "192.168.33.15"
end

Starten Sie die virtuelle Maschine mit den in der Vagrant-Datei beschriebenen Einstellungen. (Der Start dauert einige Minuten.)

% vagrant up

Wenn die virtuelle Maschine normal startet, können Sie dies mit dem folgenden Befehl überprüfen.

% vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

Melden Sie sich an, um zu sehen, ob es korrekt erstellt wurde

% vagrant ssh
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$

Überprüfen Sie, ob die Ordnerfreigabe auf der virtuellen Maschine und der Hostmaschine aktiviert ist. Standardmäßig werden das Verzeichnis / vagrant der virtuellen Maschine und die Vagrant-Datei der Hostmaschine gemeinsam genutzt. Hier richten wir eine einfache Datei ein, um die Freigabefunktion zu testen.

Virtuelle Maschine


[vagrant@localhost ~]$ cd /vagrant/
[vagrant@localhost vagrant]$ date >date.txt
[vagrant@localhost vagrant]$ cat date.txt
Fri Sep 18 04:57:51 UTC 2015

[vagrant@localhost vagrant]$ ls -la
total 12
drwxr-xr-x   1 vagrant vagrant  170 Sep 18 04:57 .
dr-xr-xr-x. 18 root    root    4096 Sep 18 04:48 ..
drwxr-xr-x   1 vagrant vagrant  102 Sep 17 16:11 .vagrant
-rw-r--r--   1 vagrant vagrant 3226 Sep 18 04:44 Vagrantfile
-rw-r--r--   1 vagrant vagrant   29 Sep 18 04:57 date.txt

Host-Maschine


% ls -la
total 16
drwxr-xr-x   5 taiji  staff   170  9 18 13:57 ./
drwxr-xr-x  18 taiji  staff   612  9 18 01:03 ../
drwxr-xr-x   3 taiji  staff   102  9 18 01:11 .vagrant/
-rw-r--r--   1 taiji  staff  3226  9 18 13:44 Vagrantfile
-rw-r--r--   1 taiji  staff    29  9 18 13:57 date.txt

% cat date.txt
Fri Sep 18 04:57:51 UTC 2015

Ich konnte bestätigen, dass die virtuelle Maschine erfolgreich erstellt wurde.

Halten Sie alle unter CentOS installierten Pakete auf dem neuesten Stand.

[vagrant@localhost vagrant]$ sudo yum update -y

Jetzt ist die virtuelle Maschine bereit.

Im nächsten Kapitel Python und Django für virtuelle Maschinen Wird installiert.

Installieren Sie die Python 3-Serie

Unter CentOS7 ist Python 2.7.5 standardmäßig installiert.

[vagrant@localhost vagrant]$ python --version
Python 2.7.5

Hier installieren wir die neueste Version von Python3, Python3.4.3.

[vagrant@localhost ~]$ cd /usr/local/src
[vagrant@localhost src]$ sudo wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
[vagrant@localhost src]$ sudo tar xzvf Python-3.4.3.tgz
[vagrant@localhost src]$ ls -al
total 19108
drwxr-xr-x.  3 root   root         48 Sep 18 05:05 .
drwxr-xr-x. 12 root   root       4096 Jul 14 05:11 ..
drwxrwxr-x  15 veewee veewee     4096 Feb 25  2015 Python-3.4.3
-rw-r--r--   1 root   root   19554643 Feb 25  2015 Python-3.4.3.tgz
[vagrant@localhost src]$ cd Python-3.4.3
[vagrant@localhost Python-3.4.3]$ sudo ./configure
[vagrant@localhost Python-3.4.3]$ sudo make
[vagrant@localhost Python-3.4.3]$ sudo make altinstall

Sie können sehen, dass python3.4 unter / usr / local / bin / installiert ist.

[vagrant@localhost Python-3.4.3]$ ls -al /usr/local/bin
total 22356
drwxr-xr-x.  2 root root     4096 Sep 18 05:09 .
drwxr-xr-x. 12 root root     4096 Jul 14 05:11 ..
-rwxr-xr-x   1 root root      101 Sep 18 05:09 2to3-3.4
-rwxr-xr-x   1 root root      241 Sep 18 05:09 easy_install-3.4
-rwxr-xr-x   1 root root       99 Sep 18 05:09 idle3.4
-rwxr-xr-x   1 root root      213 Sep 18 05:09 pip3.4
-rwxr-xr-x   1 root root       84 Sep 18 05:09 pydoc3.4
-rwxr-xr-x   2 root root 11423753 Sep 18 05:09 python3.4
-rwxr-xr-x   2 root root 11423753 Sep 18 05:09 python3.4m
-rwxr-xr-x   1 root root     3032 Sep 18 05:09 python3.4m-config
-rwxr-xr-x   1 root root      236 Sep 18 05:09 pyvenv-3.4

Überprüfen Sie die installierte Version von Python.

[vagrant@localhost ~]$ /usr/local/bin/python3.4 --version
Python 3.4.3

Geben Sie den Pfad des Python 3.4.3-Befehls ein.

[vagrant@localhost Python-3.4.3]$ sudo ln -s /usr/local/bin/python3.4 /usr/bin/python3

Auf diese Weise können Sie Python3.4.3 mit dem Befehl "python3" aufrufen, sodass Sie die Python2-Serie oder die Python3-Serie je nach Zweck ordnungsgemäß verwenden können.

[vagrant@localhost Python-3.4.3]$ python3 --version
Python 3.4.3
[vagrant@localhost Python-3.4.3]$ python --version
Python 2.7.5

Installieren Sie pip

Erstellen Sie eine Umgebung, die pip verwendet, den Paketmanager für Python. Pip wird standardmäßig ab 2.7.9 der Python 2-Serie und ab 3.4 der Python 3-Serie installiert.

[vagrant@localhost ~]$ python3 -m pip list
You are using pip version 6.0.8, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pip (6.0.8)
setuptools (12.0.5)

Da die Version von pip alt zu sein scheint, aktualisieren Sie pip mit dem folgenden Befehl.

[vagrant@localhost ~]$ sudo python3 -m pip install --upgrade pip

[vagrawnt@localhost ~]$ sudo python3 -m pip --version
pip 7.1.2 from /usr/local/lib/python3.4/site-packages (python 3.4)

Es ist mühsam, den Befehl "python3 -m pip" jedes Mal einzugeben, wenn Sie pip verwenden Hier ruft der symbolische Link den Python3-Pip mit dem Befehl "pip3" auf.

[vagrant@localhost Python-3.4.3]$ sudo ln -s /usr/local/bin/pip3.4  /usr/bin/pip3

[vagrant@localhost Python-3.4.3]$ pip3 --version
pip 7.1.2 from /usr/local/lib/python3.4/site-packages (python 3.4)

Referenz: Installieren Sie pip unter Python 2.7.8 oder früher, Python 3.3 oder früher

Für Python 2.7.8 oder früher und Python 3.3 oder früher muss pip separat installiert werden. Versuchen Sie in diesem Fall das folgende Verfahren. Dieses Mal verwenden wir die Python 3.4-Serie, sodass Sie sie nicht ausführen müssen.

$ sudo wget https://bootstrap.pypa.io/get-pip.py

#Als Root-Benutzer installieren
$ sudo python get-pip.py

#Als Nicht-Root-Benutzer installiert
$ python get-pip.py –user

Erstellen Sie mit pyvenv eine virtuelle Ausführungsumgebung

Erstellen Sie als Nächstes die Pyvenv-Umgebung. pyenv ist eine virtuelle Ausführungsumgebung, mit der Sie das zu verwendende Paket und die Version von Python projektweise wechseln können. In der Entwicklungsphase werden häufig mehrere Funktionsimplementierungen parallel entwickelt. Mithilfe der virtuellen Ausführungsumgebung können Sie die Entwicklungsumgebung für jede Anwendung wechseln und testen. Sie können das Paket so formulieren, dass die Anwendung funktioniert. In der Python2-Serie musste virtualenv usw. installiert werden. In der Python3-Serie wird es als Standardfunktion namens pyvenv bereitgestellt.

Erstellen Sie zunächst ein Verzeichnis für die Zuordnung im Verzeichnis / vagrant.

[vagrant@localhost ~]$ cd /vagrant/
[vagrant@localhost vagrant]$ mkdir django_apps
[vagrant@localhost vagrant]$ cd django_apps/

Erstellen Sie als Nächstes eine virtuelle Umgebung mit pyvenv im erstellten Verzeichnis. Zu diesem Zeitpunkt sollte Python 3.4.3 als Standard festgelegt werden.

[vagrant@localhost app1]$ pyvenv-3.4 venv_app1

[vagrant@localhost django_apps]$ ls -la
total 0
drwxr-xr-x 1 vagrant vagrant 102 Sep 18 06:05 .
drwxr-xr-x 1 vagrant vagrant 204 Sep 18 06:02 ..
drwxr-xr-x 1 vagrant vagrant 238 Sep 18 06:04 venv_app1

Laden Sie es in die erstellte virtuelle Ausführungsumgebung.

[vagrant@localhost django_apps]$ source venv_app1/bin/activate
(venv_app1) [vagrant@localhost django_apps]$

Wir konnten eine dedizierte virtuelle Ausführungsumgebung erstellen. Lassen Sie uns den Status der virtuellen Umgebung überprüfen.

(venv_app1) [vagrant@localhost django_apps]$ python --version
Python 3.4.3
(venv_app1) [vagrant@localhost django_apps]$ which python
/vagrant/django_apps/venv_app1/bin/python

Auf diese Weise können Sie sehen, dass eine neue Python-Ausführungsumgebung unter dem erstellten Verzeichnis venv_app1 erstellt wurde. Ebenso können Sie bestätigen, dass pip im Verzeichnis venv_app1 erstellt wurde.

(venv_app1) [vagrant@localhost django_apps]$ pip --version
pip 6.0.8 from /vagrant/django_apps/venv_app1/lib/python3.4/site-packages (python 3.4)

Die Version von pip in der Pyvenv-Umgebung ist ebenfalls alt. Aktualisieren Sie sie daher.

(venv_app1) [vagrant@localhost django_apps]$ pip install --upgrade pip

Gehen Sie wie folgt vor, um die virtuelle Ausführungsumgebung zu verlassen.

(env_app1)[vagrant@localhost app1]$ deactivate
[vagrant@localhost app1]$

Geben Sie denselben Befehl wie beim Erstellen ein, um sich erneut bei der virtuellen Ausführungsumgebung anzumelden.

[vagrant@localhost django_apps]$ source venv_app1/bin/activate
(venv_app1) [vagrant@localhost django_apps]$

In den folgenden Kapiteln werden wir die erstellte virtuelle Ausführungsumgebung "venv_app1" verwenden.

Installieren Sie MriaDB

MariaDB ist ein Projekt, das von Forking MySQL gestartet wurde und funktional mit MySQL kompatibel ist. Sie können Datenbankoperationsbefehle und Python-Pakete verwenden, die MySQL ähneln.

Ich werde MariaDB installieren.

(venv_app1) [vagrant@localhost django_apps]$ sudo yum install -y mariadb-server mariadb-devel

Installieren Sie das mysqlclient-Paket, um mit MariaDB aus Python-Programmen zu arbeiten.

(venv_app1) [vagrant@localhost django_apps]$ pip install  mysqlclient

Starten Sie MariaDB

(venv_app1) [vagrant@localhost django_apps]$ sudo systemctl start mariadb
(venv_app1) [vagrant@localhost django_apps]$ sudo systemctl enable mariadb

Melden Sie sich bei MariaDB als Root an.

(venv_app1) [vagrant@localhost django_apps]$  mysql -u root

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Erstellen Sie eine neue Datenbank für die Webanwendung, die Sie dieses Mal erstellen. Hier erstellen wir eine Datenbank mit dem Namen "app1_db".

MariaDB [(none)]> CREATE DATABASE app1_db CHARACTER SET utf8;

Query OK, 1 row affected (0.00 sec)

Erstellen Sie einen Benutzer, der auf die erstellte Datenbank zugreifen kann. Hier erstellen wir einen Benutzer mit dem Namen "app1_user". Das Passwort ist auf "app1_passwd" gesetzt.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON app1_db.* TO app1_user@localhost IDENTIFIED BY 'app1_passwd';

Query OK, 0 rows affected (0.00 sec)

Beenden Sie die MySQL-Eingabeaufforderung einmal.

MariaDB [(none)]> exit
Bye

Melden Sie sich als neuer Benutzer an, um zu überprüfen, ob die Datenbank und der Benutzer erfolgreich erstellt wurden.

# -Achten Sie darauf, nach p kein Leerzeichen zu setzen
(venv_app1) [vagrant@localhost django_apps]$  mysql -u app1_user -papp1_passwd

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| app1_db            |
| test               |
+--------------------+
3 rows in set (0.00 sec)

Ich konnte bestätigen, dass app1_db erfolgreich erstellt wurde.

Damit ist die Ersteinrichtung von MariaDB abgeschlossen. Bei Verwendung von Django gibt es nicht viele Möglichkeiten, MariaDB-Befehle direkt zu drücken. Verwenden Sie beim Entwickeln einer Webanwendung die ORM-Funktion (Object-Relational Mapping) von Django. Die Datenbank wird basierend auf den Inhalten in der Einstellungsdatei Models.py dynamisch reflektiert.

Installieren Sie nginx

Wir werden nginx als Webserver installieren.

Fügen Sie der virtuellen Maschine das Nginx Yum-Repository hinzu.

(venv_app1) [vagrant@localhost django_apps]$ cd /etc/yum.repos.d/

(venv_app1) [vagrant@localhost django_apps]$ sudo vi nginx.repo

#Nachstehend beschrieben
##Hier wird beschrieben, wie die neueste Version installiert wird.
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Bestätigen Sie, dass nginx.repo erstellt wurde.

(venv_app1) [vagrant@localhost yum.repos.d]$ ls -al
total 44
drwxr-xr-x.  2 root root 4096 Sep 18 09:58 .
drwxr-xr-x. 79 root root 8192 Sep 18 06:33 ..
-rw-r--r--.  1 root root 1664 Mar 31 22:27 CentOS-Base.repo
-rw-r--r--.  1 root root 1309 Mar 31 22:27 CentOS-CR.repo
-rw-r--r--.  1 root root  649 Mar 31 22:27 CentOS-Debuginfo.repo
-rw-r--r--.  1 root root 1331 Mar 31 22:27 CentOS-Sources.repo
-rw-r--r--.  1 root root 1002 Mar 31 22:27 CentOS-Vault.repo
-rw-r--r--.  1 root root  290 Mar 31 22:27 CentOS-fasttrack.repo
-rw-r--r--   1 root root  109 Sep 18 09:58 nginx.repo

Installieren Sie dann nginx mit dem Befehl yum.

(venv_app1) [vagrant@localhost yum.repos.d]$ sudo yum install -y nginx

Verwenden Sie den Befehl nginx, um zu überprüfen, ob die Installation erfolgreich war.

(venv_app1) [vagrant@localhost yum.repos.d]$ nginx -v
nginx version: nginx/1.9.4

Starten Sie nginx.

(venv_app1) [vagrant@localhost yum.repos.d]$ sudo systemctl start nginx.service
(venv_app1) [vagrant@localhost yum.repos.d]$ sudo systemctl enable nginx.service

nginx wird in den folgenden 2 Dateien festgelegt. Standardmäßig ist "index.html" im Verzeichnis "/ usr / share / nginx / html" so eingestellt, dass das Web darauf zugreifen kann.

(venv_app1) [vagrant@localhost yum.repos.d]$ less /etc/nginx/nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
(venv_app1) [vagrant@localhost yum.repos.d]$ less /etc/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

Lassen Sie uns prüfen, ob Sie über HTTP auf die standardmäßig bereitgestellte index.html zugreifen können.

Versetzen Sie die Firewall vor dem ersten Überprüfen in einen gestoppten Zustand. (Da die Filterfunktion vollständig beendet wird, seien Sie bitte vorsichtig, wenn Sie sie in einer Produktionsumgebung implementieren.)

(venv_app1) [vagrant@localhost yum.repos.d]$ sudo systemctl stop firewalld
(venv_app1) [vagrant@localhost yum.repos.d]$ sudo systemctl disable firawalld

Hier können Sie über den Webbrowser des Host-Computers auf die IP-Adresse zugreifen, die im Geschäft private_network der Vagrant-Datei angegeben ist.

http://192.168.33.15/

Bei Erfolg wird der folgende Bildschirm im Webbrowser angezeigt.

nginx_snapshot.png

Damit ist die Konstruktion von Nginx abgeschlossen.

Installieren Sie Django

Installieren Sie das Django-Paket mit pip. Mit pip können Sie wie folgt einfach installieren.

(venv_app1) [vagrant@localhost django_apps]$ pip install django

(venv_app1) [vagrant@localhost django_apps]$ pip list
Django (1.8.4)
pip (7.1.2)
setuptools (12.0.5)

Installieren Sie uWSGI

Als Schnittstelle (WSGI: Web Server Gateway Interface), die eine Webanwendung und einen mit Django entwickelten Webserver verbindet Verwenden Sie uWSGI.

Installieren Sie das uWSGI-Paket mit pip.

(venv_app1) [vagrant@localhost django_apps]$ pip install uwsgi

(venv_app1) [vagrant@localhost django_apps]$ pip list
Django (1.8.4)
mysqlclient (1.3.6)![nginx_snapshot.png](https://qiita-image-store.s3.amazonaws.com/0/45596/7335cc85-e6a9-860f-8bf5-847b4585dc47.png)

pip (7.1.2)
setuptools (12.0.5)
uWSGI (2.0.11.1)

Ein wenig mehr Einstellung ist erforderlich, um die Django-Anwendung und den Webserver tatsächlich zu verbinden. Ich werde die Vorgehensweise beim Erstellen einer Webanwendung mit Django erläutern.


Der Umgebungsbau ist nun abgeschlossen. Ab dem nächsten Mal werden wir endlich Anwendungen mit Django entwickeln.

[Webanwendung erstellt mit Python3.4 + Django (App-Entwicklung)] (http://qiita.com/taijijiji/items/343fb56ab94eee28c401)

Recommended Posts

Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
Ich habe eine WEB-Bewerbung bei Django gemacht
Webanwendung mit Python + Flask (unter Verwendung von VScode) # 1 - Aufbau einer virtuellen Umgebung-
Erstellen Sie eine Webanwendung mit Django
Webanwendung mit Python + Flask ② ③
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (1) [Umgebungskonstruktion]
Webanwendung mit Python + Flask ④
Versuchen Sie, eine Webanwendung mit Vue.js und Django (Mac Edition) zu erstellen - (1) Umgebungskonstruktion, Anwendungserstellung
Beginnen Sie mit Python! ~ ① Umweltbau ~
Twitter-Posting-Anwendung mit Django gemacht
Erstellen Sie eine Webanwendung mit Django
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
Bis zur Veröffentlichung von Python [Django] de Web Service [Umgebungskonstruktion]
Django Umweltbau
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
WEB-Anwendungsentwicklung mit Django-Development Environment Construction-
Umgebungskonstruktion (Python)
Django Umweltbau
[Python] Eine schnelle Webanwendung mit Bottle!
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Führen Sie eine Python-Webanwendung mit Docker aus
[Python] Webanwendung von 0! Hands-on (0) -Umweltbau-
Kommen wir zu Python # 0 (Umgebungskonstruktion)
Automatische Veröffentlichung einer Webdesign-Website mit Python + Selen (1) Umgebungskonstruktion
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Python Web Content mit Lolipop billigen Server gemacht
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit Docker eine Umgebung aus Nginx + uWSGI + Python (Django)
[Python] Webanwendung von 0! Hands-on (1) -Design, DB-Konstruktion-
Poetry-Virtualenv-Umgebungskonstruktion mit Centos-Sclo-Rh-Python ~ Hinweise
[Django3] Umgebungskonstruktion und Zusammenfassung verschiedener Einstellungen [Python3]
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Von der Python-Umgebungskonstruktion zur virtuellen Umgebungskonstruktion mit Anaconda
Django 1.11 wurde mit Python3.6 gestartet
Django Python Web Framework
Bau der Django-Projektumgebung
Homebrew Python Umgebung Konstruktion
Aufbau einer Python-Entwicklungsumgebung
Python-Umgebung mit Docker-Compose
python2.7 Konstruktion der Entwicklungsumgebung
Virtuelle Umgebung mit Python 3.6
Python-Umgebungskonstruktion @ Win7
Datenerfassung von der Analytics-API mit dem Google API-Client für die Python Part 2-Webanwendung
Kurs zur Erstellung von Webanwendungen, der mit Flask of Python Teil 2 Kapitel 1 ~ JSON-Austausch ~ gelernt wurde
Konstruktionsvorlage für die lokale Python-Entwicklungsumgebung [Flask / Django / Jupyter mit Docker + VS-Code]
Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook
[Python] OpenCV-Umgebungskonstruktion mit Docker (cv2.imshow () funktioniert auch)
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Django super Einführung von Python-Anfängern! Teil 5 Ich habe eine supereinfache Tagebuchanwendung mit einer klassenbasierten Allzweckansicht erstellt
Analysieren und visualisieren Sie JSON (Webanwendung ⑤ mit Python + Flask)