4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Django girls tutorial を Docker x (vscode + code-server) で 試す (1)

Last updated at Posted at 2019-05-20

とりあえず、Python x Django を試してみたいと思ったら。
まずは、環境設定から始まりますが、これが結構多変です。
いつもは、うまくいく手順で環境設定したのに、エラーとか出たりすると、それだけで、1日が潰れてしまいます。

勿体無いし。始めるときは、1日を捨てる覚悟が必要でしょう。

そこで、Docker x code-server です。これらの問題を解決してくれます。

Dhango Girls Tutorial を 流してみよう

今回は、Django Girl Tutorial を、人流ししてみたいとします。DoJango Girls Tutorial は、 Django の基本的な機能を触れるので、便利ですね。

最初に流すチュートリアルとしては良い感じだと思います。

Code-Server x Docker で、環境を作る。

Code-Server を利用することで、 Docker 上で VSCodeが動作するようになります。
なんと、 Docker 上で VSCode の Pyhton Plugin が動くようになるのです。 Django の開発も、Auto Complete などを、効かせて開発ができるようになります。

とっても、便利!!

まずは、 Python x Django の Hello World!!

まずは、 Python x Django の Hello Worldを書いて、動かしてみましょう。
とりあえず、動くものができれば、シメたもので、
あとは、それをより良いものにしていけば良いのです。

(1) Dockerfileを書く


FROM ubuntu:18.04

RUN apt-get update
RUN apt-get install -y curl wget gnupg less lsof net-tools git apt-utils -y

RUN mkdir /works
WORKDIR /works



# CODE-SERVER
RUN wget https://github.com/cdr/code-server/releases/download/1.939-vsc1.33.1/code-server1.939-vsc1.33.1-linux-x64.tar.gz
RUN tar xzf code-server1.939-vsc1.33.1-linux-x64.tar.gz -C ./ --strip-components 1


#
#
ENTRYPOINT /works/code-server  --allow-http --no-auth


#
# plugin
# https://marketplace.visualstudio.com/items?itemName=ms-python.python
#


#
# install python
# --no-cache
RUN apt-get install build-essential checkinstall -y
RUN apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev libgdbm-dev libc6-dev libbz2-dev  --fix-missing -y
RUN apt-get install zlib1g-dev libffi-dev -y  --fix-missing
RUN wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
RUN tar xf Python-3.7.3.tgz
WORKDIR /works/Python-3.7.3
RUN ./configure --enable-optimizations
RUN make altinstall
RUN pip3.7  install --upgrade pip
RUN ln /usr/local/bin/python3.7 /usr/local/bin/python  
WORKDIR /works/w
RUN pip install Django


# docbuild -t python_django_vscode .
# docker run -p 8443:8443 -p8080:8080 -p8022:22  -it python_django_vscode 

適当すぎますが、まずは、動けば良いのです。

(2) build & run docker container

docker build -t python_django_vscode .
docker run -p 8443:8443 -p 8080:8080 -it python_django_vscode 

(3) ブラウザーで 'http://127.0.0.1:8443/' を開く

root_page.jpg

(4) django project を作成する

(4-1) VSCode上で、Terminal -> New Terminal
(4-2) Terminal 上で、

root@8e5699b9caa4:/works/w# django-admin startproject mysite
root@8e5699b9caa4:/works/w# cd mtsite
root@8e5699b9caa4:/works/w# python manage.py runserver 0.0.0.0:8080

(5) ブラウザーで 'http://127.0.0.1:8080/' を開く

welcome.jpg

   
  
 

VSCode 向け、Python Plugin を install

このままでは、Auto Complete などの 便利機能が使えないので、Plugin を設定してみましょう。

(a) install plugin
https://marketplace.visualstudio.com/items?itemName=ms-python.python

(b) django 向け 拡張

$pip install pylint-django
$pip install typeguard

(c) .vscode/settings.json に以下を追加

.vscode/settings.json
{
  "python.linting.pylintArgs": [
     "--load-plugins=pylint_django"
   ],
}

(d) ブラウザーをw reload すると Plugin が反映されます。

続く

mysql を動作させたり、 nginx を含めたり、 Celery を通して、 Batch処理を書いたり。続く。

PS

mysql を利用したい場合は、 docker-compose を利用すると楽だと思います。仮で作成したものがあるのでリンクをしておきます。

4
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?