我使用Mac上的VS Code和Django来显示“Hello Django!”

首先

Pythonを勉強するためにWebアプリを作ろうと思い立ちました。
その際の作成方法を残しておきます。
補足:作成途中で、VS CodeのDjangoチュートリアルを見つけたので、途中からそのチュートリアルに沿った形になっています。

作った環境

    • MacBook Air(mac OS Mojave)

 

    • VS Code 1.29.1(インストール済み)

 

    Python 3.7.3(インストール済み)

作成手順

環境準備

    1. Djangoをインストールします。

 

    1. pipenvが入っていなければ先にinstallしておきます。

 

    1. brew install pipenv

 

    1. pipenv install django

 

    1. 次に、適当なプロジェクトを作り、そのフォルダ内でPythonの仮想環境を作成します。

 

    1. python3 -m venv env

 

    1. ここまで来たら、一旦VS Codeを立ち上げます。

 

    1. フォルダーオープンにて、先ほど作った適当なプロジェクトのフォルダを開きます。

 

    1. ⇧⌘P(shift + メタ + P)を押して、”Python Select Interpreter”を選択します。

 

    1. その後、先ほど作ったPythonの仮想環境を選びます。

 

    1. (./envもしくは.\envで始まる環境です)

 

    1. VS Codeの左下が、作成した仮想環境となっていることを確認します。

 

    1. (私の環境だとPython 3.7.3 64bit (‘env’: venv)となっていました)

 

    1. ターミナル上で、作成した仮想環境をアクティベートします。

 

    source env/bin/activate

Webプロジェクト作成

    1. VS Code上でDjango Projectを作成します。

 

    1. django-admin startproject web_project .

 

    1. 補足:django-adminがcommand not foundとなる場合があります。

 

    1. その場合、以下コマンドを実行してsite-packagesがある場所を探してください。

 

    1. python -m site

 

    1. そのフォルダ内(site-packages/django/bin/)にdjango-admin.pyがあります。

 

    1. VS Codeのターミナル上で、2で作成したフォルダ内に移動し、以下コマンドを実行します。

 

    1. python manage.py runserver

 

    1. ブラウザ上で「http: //127.0.0.1:8000/」にアクセスします。

 

    ロケットで飛んでいく画面が表示されます。

Hello, Django!を表示

    helloフォルダ以下のviews.pyを以下コードに修正します。
from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django!")
    helloフォルダにurls.pyを作成し、以下コードを記載します。
from django.urls import path
from hello import views

urlpatterns = [
    path("", views.home, name="home"),
]
    web_projectフォルダのurls.pyを以下のように修正します。
from django.contrlib import admin
from django.urls import include, path

urlpatterns = [
    path("", include("hello.urls")),
]
    VS Code上で以下コマンドを実行し、ブラウザ上で「http: //127.0.0.1:8000/」にアクセスします。

「Hello, Django!」が表示されます。
python manage.py runserver

参照

[https://code.visualstudio.com/docs/python/tutorial-django:title]

广告
将在 10 秒后关闭
bannerAds