2019/09/03:ECサイト作成(1)-プロジェクト作成、DB設定、商品一覧-
ネットショップ的な何かを作るプロジェクトをやって行きます。
事前準備・・って言っても大したことしないけど
http://shop.workbook.tokyo/
っていうURLにしたいので、
Nginxでプロキシ設定をして受け流しさせます。
ポートはDjangogirlsのブログで8000使ったので今回は8001を使います。
※一段落してからログ見つつ振り返ってるので順番が前後するかもしれません。。。
仮想環境に入る。
プロジェクトを作る!
やり直します。
プロジェクトを置く場所を作成してから、
その中でスタートプロジェクト→スタートアプリ
django02プロジェクト(ディレクトリ)に
mysiteディレクトリと
shopディレクトリと
manage.pyファイルが出来上がりました。
取り急ぎMySQLを使えるようにしておきます。
mysite/manage.pyを開いて、import sysの直下に下記書き足す。
まず、settings.pyの中を自分の環境に合わせていくつか変更
管理者ページ(/admin)とindex(仮)のURL設定を記述
今度はアプリケーション側の設定
shop/views.pyでtemplateをレスポンスするように設定する。
shop/models.pyの中で2つのデータベースクラスを作成する。
ターミナルに戻って、マイグレーションしてテーブルを作成する。
マイグレーションする前のテーブル状態は下記(先に一回しちゃった←
DESCで見ると分かるけどプライマリーキーとかオートインクリメントが設定されている。
かつ、 ForeignKeyでcategory_idとcategoryのカラムidとリレーションシップが付けられている。
商品が何もないと確認もしようがないので手打ちで2商品追加します・・・w
ペン(カテゴリ:文房具)と、Pythonの本(カテゴリ:書籍)を仮で登録します。(本が安いww)
追加したんですが、adminの管理ページに少し追記すれば
簡単にデータの追加や削除が出来るので先に(既に後だが)やっておく。
shop/admin.pyを開いて
下記のように追記。
import Category, Productのところでmodels.pyの中の
class Categoryと、class Productを、読み込んだ後、
管理ページで管理できるように下の2行を該当クラスを登録。
区切りの最後にtemplateファイルを作って次回へ続く。
viws.pyでテンプレートのレスポンス先としてたファイルを作成
※return TemplateResponse(request, 'catalogue/product_list.html')←のファイル。
で、ファイルの中身は適当に・・最低限データベースから引き出せてるかの確認が出来れば良い程度に。今は。

事前準備・・って言っても大したことしないけど
http://shop.workbook.tokyo/
っていうURLにしたいので、
Nginxでプロキシ設定をして受け流しさせます。
ポートはDjangogirlsのブログで8000使ったので今回は8001を使います。
※一段落してからログ見つつ振り返ってるので順番が前後するかもしれません。。。
仮想環境に入る。
プロジェクトを作る!
エラー!やり直します。
プロジェクトを置く場所を作成してから、
その中でスタートプロジェクト→スタートアプリ
プロジェクトとアプリの土台というか箱が出来上がり。django02プロジェクト(ディレクトリ)に
mysiteディレクトリと
shopディレクトリと
manage.pyファイルが出来上がりました。
取り急ぎMySQLを使えるようにしておきます。
mysite/manage.pyを開いて、import sysの直下に下記書き足す。
mysite内の設定ファイルを少し変更するまず、settings.pyの中を自分の環境に合わせていくつか変更
mysite/urls.pyの編集管理者ページ(/admin)とindex(仮)のURL設定を記述
mysite設定は取り敢えず一旦修了。今度はアプリケーション側の設定
shop/views.pyでtemplateをレスポンスするように設定する。
忘れてたので、データベース作ります・・・。shop/models.pyの中で2つのデータベースクラスを作成する。
models.pyの用意が(データベースのテーブル定義)が出来たら、ターミナルに戻って、マイグレーションしてテーブルを作成する。
マイグレーションする前のテーブル状態は下記(先に一回しちゃった←
んで、マイグレーションをして先程のmodels.pyの内容をテーブルに落とし込む。
もう一度データベースを見てみる。
shop_categoryとshop_productが作成される。DESCで見ると分かるけどプライマリーキーとかオートインクリメントが設定されている。
かつ、 ForeignKeyでcategory_idとcategoryのカラムidとリレーションシップが付けられている。
商品が何もないと確認もしようがないので手打ちで2商品追加します・・・w
ペン(カテゴリ:文房具)と、Pythonの本(カテゴリ:書籍)を仮で登録します。(本が安いww)
はい、追加しました。追加したんですが、adminの管理ページに少し追記すれば
簡単にデータの追加や削除が出来るので先に(既に後だが)やっておく。
shop/admin.pyを開いて
下記のように追記。
from .modelsのところで、models.pyを指し、import Category, Productのところでmodels.pyの中の
class Categoryと、class Productを、読み込んだ後、
管理ページで管理できるように下の2行を該当クラスを登録。
区切りの最後にtemplateファイルを作って次回へ続く。
viws.pyでテンプレートのレスポンス先としてたファイルを作成
※return TemplateResponse(request, 'catalogue/product_list.html')←のファイル。
で、ファイルの中身は適当に・・最低限データベースから引き出せてるかの確認が出来れば良い程度に。今は。
で、表示確認ができたところで一旦修了。