DjangoGirlsTutorialをやってみる(6)ORM(Object-relational mapping)
前回は、viewを表示するところまで行った。
http://twosquirrel.mints.ne.jp/?p=9556
今回は、
https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/django_orm/
をtryしてみる。
(環境)
Windows8.1
Anaconda4.1.1 (python 3.5.2)
(下準備)
cmd.exeを「管理者で実行」
cd c:/py/djangogirls/myproject
activate root
(1)Postオブジェクトの表示
python manage.py shell
>>> Post.objects.all()
>>> from blog.models import Post
>>> Post.objects.all()
>>> Post.objects.create(author=me, title='Sample title', text='Test')
>>> from django.contrib.auth.models import User
>>> User.objects.all()
>>> me = User.objects.get(username='admin')
>>> Post.objects.create(author = me, title = 'Sample title', text = 'Test')
(2)Filter objects と、Ordering objects
https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/django_orm/
に記載の通りに入力。
次は、
https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/dynamic_data_in_templates/
にしたがってやっていく。
(3)blog/views.py を変更。
views.py は、Railsでいうところのcontroller.rb なのだと思われる。
from django.shortcuts import render from django.utils import timezone from .models import Post def post_list(request): posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date') return render(request, 'blog/post_list.html', {'posts': posts})
(4)blog/templates/blog/post_list.html を変更。
Railsでいうところの、view/xxx.html.erb (railsでいうView)だと思われる。
<div> <h1><a href="/">Django Girls Blog</a></h1> </div> {% for post in posts %} <div> <h1><a href="">{{ post.title }}</a></h1> <p>{{ post.text|linebreaks }}</p>
<p>published: {{ post.published_date }}</p> </div> {% endfor %}
python manage.py runserver
127.0.0.1:8000
(5)Herokuにデプロイ
git add -A .
git commit -m “Added views to create/edit blog post inside the site."
git push heroku master
Herokuのアドレスをブラウザで開くと、真っ白。
これは、Adminから、Postを投稿して、published dateを本日以前に設定する必要がある。
/admin からログインして、Postを追加する。
一応、OK.
できれば、ソースをBitBucket管理にしたいが、、、SSHキーがうんたらでまだできていない。いずれできるようにしたい。
(参考)
Railsチュートリアル 1.4.3 Bitbucket
http://railstutorial.jp/chapters/beginning?version=4.2#sec-bitbucket
ディスカッション
コメント一覧
まだ、コメントがありません