なんか 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 をナニ。