ユーザ用ツール

サイト用ツール


メモ:django

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
メモ:django [2019/05/29 14:09] – [テスト用の内部サーバ起動] Wiki Editorメモ:django [2019/05/29 14:54] – [app01/report/views.py] Wiki Editor
行 42: 行 42:
 コマンドでの待ち受けIPを指定するとローカルホストからのみ接続できる。ここでは別ホスト上に開発環境があるので、接続されているインターフェースにバインドする。0を指定すればすべてのインターフェイスにバインド。 コマンドでの待ち受けIPを指定するとローカルホストからのみ接続できる。ここでは別ホスト上に開発環境があるので、接続されているインターフェースにバインドする。0を指定すればすべてのインターフェイスにバインド。
  
-起動コマンドでIPアドレスにアサインすることと、設定ファイルの接続許可が両方正しく設定されて、初めて外部から接続できる。うまく起動できれば、http://{IP Address}:8000/でテストサーバに接続され、ロケット打ち上げが表示される。+起動コマンドでIPアドレスにアサインすることと、設定ファイルの接続許可が両方正しく設定されて、初めて外部から接続できる。うまく起動できれば、http://[IP Address]:8000/でテストサーバに接続され、ロケット打ち上げが表示される。
  
  
行 53: 行 53:
  
   * app01(プロジェクトの親ディレクトリ)内にreportディレクトリが作成され、アプリケーションに関するファイル一式が格納される。   * app01(プロジェクトの親ディレクトリ)内にreportディレクトリが作成され、アプリケーションに関するファイル一式が格納される。
 +
 +
 +===== Viewの作成 =====
 +Viewはアプリケーションのロジック、処理を行う中心的な部分。データの加工やテンプレートの呼び出しなど、様々な処理を担当する。
 +
 +==== app01/report/views.py ====
 +viewの本体。とりあえず単純に文字を表示するだけ。
 +
 +  from django.shortcuts import render
 +  from django.http import HttpResponse
 +  
 +  def index(request):
 +      return HttpResponse("Hello, Django."
 +
 +==== app01/report/urls.py ====
 +URLのディスパッチ設定。アプリケーションレベルのURLはここでディスパッチする。このファイルは、プロジェクトレベルのURLディスパッチにインクルードして使う。アプリケーション作成時には自動作成されない。
 +
 +urlpatternsにURLとViewの対応を設定する。ここでは「''」でルートディレクトリへのアクセスをviews.pyのindex関数と対応づける。
 +  from django.urls import path
 +  from . import views
 +  
 +  urlpatterns = [
 +      path('', views.index, name='index'),
 +  ]
 +
 +==== app01/app01/urls.py ====
 +プロジェクトレベルのURLディスパッチ
 +
 +include関数を読み込んで、アプリケーションレベルのURLディスパッチ設定ファイルを読み込むように設定する。
 +
 +ここでは/report/以下のURLはreport/urls.pyを読み込んで処理する。
 +  from django.contrib import admin
 +  from django.urls import path, include
 +  
 +  urlpatterns = [
 +      path('report/', include('report.urls')),
 +      path('admin/', admin.site.urls),
 +  ]
 +
 +
 +以上を設定すると、http://[IP Address]:8000/report/で「Hello, Django.」が表示される。
 +
 +
 +===== Model =====
 +データベースからデータを呼び出したり保存したりする。直接クエリを発行するのではなく、オブジェクトを介して操作。
 +
 +==== データベース ====
 +開発途中は取りあえずSQLiteを利用する。本番環境ではPostgreSQLなりMySQLに切り替える。データベースの定義はDjangoが自動的に生成してくれるので、バックエンドはあまり意識する必要はない。とりあえず、設定ファイルだけ確認しておく。
 +
 +app01/app01/settings.py
 +  DATABASES = {
 +      'default': {
 +          'ENGINE': 'django.db.backends.sqlite3',
 +          'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 +      }
 +  }
 +
 +標準ではSQLiteが使われる。
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
メモ/django.txt · 最終更新: 2019/06/05 17:30 by Wiki Editor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki