この記事について
この記事では以下を行う
- モデルの作成とマイグレーション
- adminへの登録(モデルを管理者画面で表示)
- 管理者ユーザーの作成
- urls.pyの作成(アプリケーションディレクトリ内)
前回:【Django】プロジェクト・アプリケーションの作成と初期設定【ブログアプリ2】
手順
モデルの作成
~デスクトップ/Blog2/app/models.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
from django.db import models # Create your models here. class Blog(models.Model): title = models.CharField(max_length=100, verbose_name="タイトル") content = models.TextField(verbose_name="内容") created_date = models.DateField(auto_now_add=True, verbose_name="作成日時") #updated_date = models.DateField(auto_now_add=False, verbose_name="更新日時") def __str__(self): return self.title class Meta: verbose_name = "ブログ" verbose_name_plural = "ブログ" |
Blogモデルを作成する。
class Blog(models.Model):title = models.CharField(max_length=100, verbose_name=”タイトル”)content = models.TextField(verbose_name=”内容”)created_date = models.DateField(auto_now_add=True, verbose_name=”作成日時”)
タイトル、内容、作成日のフィールドを作成。
モデルフィールド、オプションについては以下の記事に記載。
def __str__(self):return self.title
class meta:verbose_name = “ブログ”varbose_name_plural = “ブログ”
管理画面上でBlogモデルを「ブログ」と表示させるための設定。
マイグレーション
~デスクトップ/Blog2/
1 |
python manage.py makemigrations |
マイグレーションファイルを作成する。
1 |
python manage.py migrate |
マイグレーションを行う。
adminへの登録
~デスクトップ/Blog2/app/admin.py
1 2 3 4 5 |
from django.contrib import admin from .models import Blog #[1] # Register your models here. admin.site.register(Blog) #[2] |
[1]models.pyからBlogモデルをインポート
[2]Blogモデルを登録
これで管理画面上に表示させることができる。
スーパーユーザーの作成
~デスクトップ/Blog2/
1 |
python manage.py createsuperuser |
スーパーユーザーの作成
ユーザー名、メールアドレス、パスワードを求められるので好きな内容で設定する。
templatesディレクトリの作成
~デスクトップ/Blog2
templatesディレクトリを作成する。
■ディレクトリ構成
1 2 3 4 5 6 7 |
デスクトップ └Blog2 ├env_blog2 ├config ├app ├templates #新規作成 └manage.py |
urls.py(config)の編集
~デスクトップ/Blog2/config/urls.py
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import path, include #[1] urlpatterns = [ path('admin/', admin.site.urls), path('app/', include('app.urls')), #[2] ] |
appディレクトリ内のurls.pyのURLパターンを読み込む。
appディレクトリ内のurls.pyは未作成なので、次の手順で作成する。
[1]includeをインポート
[2]path関数を追加
URLの末尾がapp/だった場合、appディレクトリ内のurls.pyのURLパターンを読み込む。
urls.py(app)の作成
~デスクトップ/Blog2/app/urls.py
1 2 3 4 5 |
from django.urls import path, include urlpatterns = [ ] |
今は空の状態とする。
■ディレクトリ構成
1 2 3 4 5 6 7 8 9 |
デスクトップ └Blog2 ├env_blog2 ├config ├app │ ├・・・ │ └urls.py #新規作成 ├templates └manage.py |
ディレクトリ構成の確認
現在のディレクトリ構成は以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
デスクトップ └Blog2 ├app │ ├migrations #自動作成 │ ├__init__.py #自動作成 │ ├admin.py #自動作成・編集 │ ├apps.py #自動作成 │ ├models.py #自動作成・編集 │ ├tests.py #自動作成 │ ├views.py #自動作成 │ ├urls.py #新規作成・編集 ├db.sqlite3 #自動作成 ├config │ ├・・・ │ ├settings.py #編集 │ └urls.py #編集 ├templates #新規作成 ├env_blog2 └manage.py |
appディレクトリ内のファイルはurls.pyは手動で作成。
migrationsはマイグレーションにより自動作成。
それ以外はstartappコマンドでのアプリケーション作成により自動作成。
db.sqlite3はマイグレーションにより自動作成
templatesディレクトリは手動作成
Django記事一覧
前回:【Django】プロジェクト・アプリケーションの作成と初期設定【ブログアプリ2】
次回:【Django】base.html(ベーステンプレート)の作成【ブログアプリ2】
コメント