キーウェブコーポレーションのサイトです | キーウェブコーポレーションでは最新技術と自然との調和を目指します。

キーウェブコーポレーションの取り組み

PythonによるWebスクレイピングを作ろうとした・・・
Windows10環境でとりあえず、Webアプリを作成する。
Pythonは3.7.2。[~]は、自由に設定する。

仮想環境を構築
C:¥Users¥[user]> pip install virtualenv
Windows環境ではまず仮想環境を用意する。
C:¥Users¥[user]>cd Documents
C:¥Users¥[user]¥Documents> virtualenv env1
env1という名前の仮想環境を、マイドキュメントの下に作る。
C:¥Users¥[user]¥Documents> cd env1 C:¥Users¥[user]¥Documents¥env1> Scripts¥activate
仮想環境 env1 の中で、仮想環境を実行する。
Windows PowerShellでは、ある設定をしないと実行できない。
終わるときは、Scripts\deactivateを実行する。
Djangoをインストールする
C:¥Users¥[user]¥Documents¥env1>pip install django
仮想環境下で実行する。
ちゃんとインストールできたかは、pip freeze -lで確認する。
これが表示されれば成功。
Django==2.0.1
pytz==2018.9
プロジェクトを作成する
(env1) C:¥Users¥[user]¥Documents¥env1> cd C:¥Users¥[user]¥[project]
(env1) C:¥Users¥[user]¥[project]> django-admin.py startproject [site]
仮想環境下で実行する。
アプリを作成する
C:\Users\fwd\[project]\[subproject]> python manage.py startapp [app]
仮想環境下で実行する必要はない。
フォームを作成する
[subproject]/templates
templatesは、[site]や[app]と同じ階層に作成する。
[site]/settings.py
templatesを使えるようにする。

INSTALLED_APPS = [
	:
	:
    '[app]',
]
TEMPLATES = [
    {
		:
        'DIRS': [
        	os.path.join(BASE_DIR, 'templates'),
        ],
    },
]
templates/index.html
新規に作成する。

<!DOCTYPE html>
<html>
<head lang="ja">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
Hello Template!
</body>
</html>
[app]/views.py
新規に作成する。

from django.http import HttpResponse
from django.shortcuts import render

def [app_template](request):
    return render(request, 'index.html')
[site]/views.py
編集する。

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url('[app]/', include('[app].urls')),
    url(r'^admin/', admin.site.urls),
]
[app]/urls.py
新規に作成する。

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.[app_template], name='[app_template]'),
    url(r'^template/$', views.[app_template], name='[app_template]'),
]
開発用サーバの起動
C:\Users\[user]\[project]\[subproject]> python manage.py runserver
manage.pyのあるディレクトリで実行する。
問題があれば、この段階でエラーが出る。

http://127.0.0.1:8000/[app]/