7. Model
class Title < ApplicationRecord
def title_display
'[' + self.name + ']'
end
end
from django.db import models
class Title(models.Model):
name = models.TextField()
sales_date = models.DateField()
def title_display(self):
return '[' + self.name + ']'
8. Controller(View)
class BooklistController < ApplicationController
def index
@msg = 'djangoはいいぞ。'
@titles = Title.all
end
def detail
@msg = 'hello'
@title = Title.find(params[:id])
end
end
from app.models import Title
def index(request):
context = {'msg' : 'djangoはいいぞ。',
'titles' : Title.objects.all()}
return render_to_response('booklist/index.html',
context)
def details(request, id):
context = {'msg' : 'hello’',
'title' : Title.objects.get(id=id)}
return render_to_response('booklist/detail.html',
context)
10. ルーティング
Rails.application.routes.draw do
get 'booklist' => 'booklist#index'
get 'booklist/:id' => 'booklist#detail'
end
from views import booklist
urlpatterns = [
url(r'^booklist$', booklist.index),
url(r'^booklist/(?P<id>[0-9]+)$', booklist.detail),
]
11. マイグレーション
> rails generate model title
生成されたmigrationファイルにフィールドを追加
> rake db:migrate
modelの定義を作成
> ./manage.py makemigrations
> ./manage.py migrate