Djangoでtemplatesと変数を表示する

template

Djangoでは、templateを使用して表示を行う。

MTVだか、なんだか。

templateの設定

  1. settings.pyに、
            'DIRS': [
                os.path.join(BASE_DIR, 'templates'),
            ],

    を追加してやる。

TODO
以下の関数や特殊なグローバス変数について調べる。
os.path.dirname()
os.path.abspath()
__file__

2. myapp内に、templatesフォルダを作成し、index.htmlを作成する。

3. hello/view.pyにrender関数を追加し、urls.pyにもディスパッチャを記述する。

詳しくは今日書く

以上

Djangoでhello! worldを出すためにハマったこと

includeメソッドの引数について

最新のDjangoだと django.conf.urls.include() は namespace='hoge' が使えません。

使えないんかい! namespaceを使用したい場合は、app_name='hoge'を宣言してあげる。

今回は、namaspaceを使用しなくても動作した。

参考

https://teratail.com/questions/88819

HttpResponceなんてねーぜ

import漏れ、

from django.http.response import HttpResponse
使用するときは、importしてあげる。

ソースをコピペる時は、include文とかimport文をよく見よう。

ポートを指定したurlの書き方

これは、恥ずかしい。

ポートを指定してアクセスする

総括

  • FWとか言語のバージョンによって書き方違うので注意する。
  • import, includeについても注意する。
  • ネスペの勉強頑張れ

とりあえず、Hello! Worldを出せたのでCRUDまで頑張る。

参考にしたページ

https://eiry.bitbucket.io/tutorials/tutorial/views_and_urls.html

以上

django開発環境構築メモ

接続DBの定義

$vim myapp/myapp/setting.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangodb',
'USER': 'root',
'PASSWORD': 'hogehoge',
'HOST': '',
'PORT': ''
}
}

同ファイルの上部に下記を追加

import pymysql
pymysql.install_as_MySQLdb()

マイグレーションの実行

マイグレーションとは、システム、または、データ資産の移行作業のことである。

python manage.py migrate

うまくいかなかった。

以上

mysqlでデータベースの作成

デーモンの起動

$sudo systemctl start mysqld

rootで実行

$sudo mysql

データベースの作成

mysql> CREATE DATABASE djangodb

実行結果

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql> create database djangodb;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| djangodb |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

以上

AWSでDjangoに外部接続する

AWSの設定画面から、ポート8000を有効にする。

そのまんま

Djangoのインストール&設定&起動

$pip install django

$django-admin startproject myapp

$vim myapp/myapp/settings.py

ALLOWED_HOSTS = ["*"]

$sudo python3.5 myapp/manage.py runserver 0.0.0.0:8000

ブラウザでグローバルIP:8000に接続

参考にしたページ

https://code.i-harness.com/ja/q/227ef7

https://qiita.com/tinaba/items/01bc72c100f97438a36e

以上