なんか gdgd

なので django の勉強名目で作ってみる。最近イチから云々というリキがないのでどこまでイケるか微妙ですが。

とりあえずしてみたこと

まず、github にプロジェクト作成。ローカルで django な新規プロジェクトを作る。

$ django-admin.py startproject studyofdjango
$

git な前処理

以降はガイドに沿ってナニ

$ cd studyofdjango
$ git init
Initialized empty Git repository in .git/
$ ls -al
total 24
drwxr-xr-x 3 guest guest 4096 Jun  7 10:50 .
drwxr-xr-x 9 guest guest 4096 Jun  7 10:48 ..
drwxr-xr-x 7 guest guest 4096 Jun  7 10:50 .git
-rw-r--r-- 1 guest guest    0 Jun  7 10:48 __init__.py
-rwxr-xr-x 1 guest guest  546 Jun  7 10:48 manage.py
-rw-r--r-- 1 guest guest 2832 Jun  7 10:48 settings.py
-rw-r--r-- 1 guest guest  239 Jun  7 10:48 urls.py
$ touch README
$ git add README
$ git config --global user.email "yamanetoshi@gmail.com"
$ git config --global user.name "Yamane Toshiaki"
$ git commit -m 'first commit'
Created initial commit 00be915: first commit
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README
$

これで一旦ナニ

$ git remote add origin git@github.com:yamanetoshi/studyofdjango.git
$ git push origin master
fatal: exec ssh failed.
fatal: The remote end hung up unexpectedly
$

げ。鍵が。ってそれ以前に ssh が入ってなかった (滝汗
jail の親の .ssh をコピッて ssh を入れた後に

$ git push origin master
Enter passphrase for key '/home/guest/.ssh/id_rsa': 
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:yamanetoshi/studyofdjango.git
 * [new branch]      master -> master
$

これでブラウザから中身を見てみる。README しかない。これってアレですね。全部 add しないと駄目ですね。そろそろ限界近いのだろうか (何

$ git add *
$ git commit -m '2nd commit'
 3 files changed, 100 insertions(+), 0 deletions(-)
 create mode 100644 __init__.py
 create mode 100755 manage.py
 create mode 100644 settings.py
 create mode 100644 urls.py
$

最初に commit した時に気づけよ、と。

$ git push origin master
Enter passphrase for key '/home/guest/.ssh/id_rsa': 
Counting objects: 6, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 2.09 KiB, done.
Total 5 (delta 0), reused 0 (delta 0)
To git@github.com:yamanetoshi/studyofdjango.git
   00be915..5fbc00c  master -> master
$

で push してブラウザでリポジトリを見てみると見事に追加されております。あとは普通の方法を取る方向でアプリケーションも作っておきます。

$ django-admin.py startapp fa
$

あと、feedjack 方面から

  • AUTHORS
  • CHANGES
  • LICENSE

と feedjack/models.py をコピります。

$ cp ../feedjack_folk/AUTHORS ../feedjack_folk/CHANGES ../feedjack_folk/LICENSE .
$ cp ../feedjack_folk/feedjack/models.py fa/.

で、git に add

$ git add AUTHORS CHANGES LICENSE
$ git push origin master
Enter passphrase for key '/home/guest/.ssh/id_rsa': 
Everything up-to-date
$

げ。commit してなかった (恥

$ git commit -m '3rd commit (add from feedjack)'
$

あらら。このまま push してええんかいな
# 出力が彼方に飛んだのでナニですが、追加は 3 つだった
# models.py はスルー??
# とりあえずこれで再度 push してみます

$ git push origin master
Enter passphrase for key '/home/guest/.ssh/id_rsa': 
Counting objects: 6, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 2.50 KiB, done.
Total 5 (delta 0), reused 0 (delta 0)
To git@github.com:yamanetoshi/studyofdjango.git
   5fbc00c..ecc7b8d  master -> master
$ 

Web で見てみたら fa というアプリケーションが無い。再度 add

$ git add fa
$ git commit -m '4th commit (add fa application)'
Created commit d58b379: 4th commit (add fa application)
 2 files changed, 221 insertions(+), 0 deletions(-)
 create mode 100644 fa/__init__.py
 create mode 100644 fa/models.py
 create mode 100644 fa/views.py
$ git push origin master
Enter passphrase for key '/home/guest/.ssh/id_rsa': 
Counting objects: 6, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 2.39 KiB, done.
Total 5 (delta 1), reused 0 (delta 0)
To git@github.com:yamanetoshi/studyofdjango.git
   ecc7b8d..d58b379  master -> master
$

できれば ignore 設定したいのですが。

  • setting.py
  • *.pyc
  • *~
  • データベース (実体も fixtures も)

あたり。ディレクトリ毎に .gitignore を作れば良いのですか。ってよく考えたら明示的に git add せん限りは追加されんから無視もクソもないような気もします ...
ってとりあえずスデに存在する settings.py はナニですので以下の .gitignore を追加

settings.py

で、

$ git add .gitignore
$ git commit -m '5th commit (add .gitignore)'
Created commit ae0d713: 5th commit (add .gitignore)
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 .gitignore
$ git push origin master
Enter passphrase for key '/home/guest/.ssh/id_rsa': 
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 298 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@github.com:yamanetoshi/studyofdjango.git
   d58b379..ae0d713  master -> master
$

試しに settings.py のナニを以下のようにしたカンジで

import os
DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = os.path.join(os.path.dirname(__file__),'rss.db')
#TIME_ZONE = 'America/Chicago'
TIME_ZONE = 'Asia/Tokyo'
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'fa',
)

で、syncdb

$ python manage.py syncdb
Creating table auth_message
Creating table auth_group
Creating table auth_user
Creating table auth_permission
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table fa_feed
Creating table fa_site
Creating table fa_subscriber
Creating table fa_tag
Creating table fa_link
Creating table fa_post

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'guest'): admin
E-mail address: admin@admin.net
Password: 
Password (again): 
Superuser created successfully.
Installing index for auth.Message model
Installing index for auth.Permission model
Installing index for fa.Subscriber model
Installing index for fa.Post model
$

ええと、備忘録としては現行のバージョン以降のソレを pull したら settings.py を上記のように修正して syncdb したらテーブルができます、という事で良いのでしょうか。
とりあえずリキが続けば tests.py をナニ。