[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/06 17:35 / Filesize : 162 KB / Number-of Response : 835
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Python】Webフレームワーク Djangoスレ Part1



1 名前:nobodyさん [2006/08/27(日) 02:20:54 ID:yog4uW4e]
LL言語「Python」で実装されたWebフレームワーク Django
Web開発する上で必要となる機能がそろっており、
管理サイト画面を自動作成できるなどの特色を持ちます。

本家サイト
www.djangoproject.com/

日本語ユーザ会「Djangoと日本の仲間たち」
www.djangoproject.jp/

日本語解説サイト
ttp://ymasuda.jp/python/django/index.html

解説本(英語) 「Pro Django:」2006年10月30日出版予定
ttp://www.amazon.co.jp/gp/product/1590597257/

あなたがDjangoを利用すべき10の理由(和訳)
ttp://www.everes.net/2006/jan/30/3042306a305fdjango3092522975283059304d10306e74067531/

IT Pro記事
ttp://itpro.nikkeibp.co.jp/article/NEWS/20060410/234868/

IBM developerWork記事
ttp://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml

671 名前:nobodyさん mailto:sage [2009/06/21(日) 20:50:32 ID:???]
admin.pyじゃなくて、models.py内でclass Adminって定義しているということは、1.0使っていないのかな?
ImageFieldは1.0かららしいけれども。
djangoproject.jp/doc/ja/1.0/ref/forms/fields.html#imagefield

672 名前:nobodyさん mailto:sage [2009/06/21(日) 20:55:45 ID:???]
>>671
ありがとうございます。

今確認したところバージョンは1.0.2final。

settings.pyのMEDIA_ROOTに保存先を設定しておけば、
ImageFieldって使えるもんだと思ってたんですが、
みなさんImageField使う際ほかにやっている事ってありますか


673 名前:nobodyさん mailto:sage [2009/06/21(日) 20:58:13 ID:???]
d.hatena.ne.jp/Lambda_groove/

みなさん状況をまとめたのでこっち見てもらえると助かります。

674 名前:nobodyさん mailto:sage [2009/06/21(日) 21:51:11 ID:???]
まさか multipart になってないとか

675 名前:nobodyさん mailto:sage [2009/06/21(日) 21:54:50 ID:???]
>リクエスト側の<input type="file" />から送信されるファイルデータは、
>必ず<form enctype="multipart/form-data">から送らせること。基本だが忘れてた。

一応やってんのか
なんか忘れてるんだろw
がんがれw

676 名前:nobodyさん mailto:sage [2009/06/23(火) 01:15:57 ID:???]
djangoproject.jp/doc/ja/1.0/topics/http/file-uploads.html#topics-file-uploads

なるほど、cleaned_data["image"]はUploadedFile オブジェクトで、モデル側のsave()では保存されないのかな。
ModelFormを使えば、form.save()でMEDIA_ROOT以下に保存してくれるのかもしれないね。

677 名前:nobodyさん mailto:sage [2009/06/23(火) 06:06:41 ID:???]
>>676
おぉ、そんなものが、、、、

あーなるほど、1.0からの新機能なのか。
ちょっと試してみます。


678 名前:nobodyさん mailto:sage [2009/07/03(金) 05:30:06 ID:???]

    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!



679 名前:nobodyさん mailto:sage [2009/07/15(水) 16:43:05 ID:???]
codezine.jp/article/detail/4065



680 名前:nobodyさん mailto:sage [2009/07/16(木) 01:28:24 ID:???]
    * Windows XP
    * Python 2.6.2
    * Django 1.1 Beta
    * SQLite3

 執筆時点(2009年6月29日)では、Djangoの正式バージョンは1.0.2ですが、間もなく1.1がリリースされる模様です。本稿では1.1Betaを使用します。

681 名前:nobodyさん mailto:sage [2009/07/16(木) 01:32:44 ID:???]
djangoは良いんだけどフォームがしょぼいんだよなぁ

682 名前:nobodyさん [2009/07/24(金) 15:38:01 ID:UDVYXghb]
www.djangoproject.jp が表示されない。
ほかの人はどうですか?


683 名前:nobodyさん mailto:sage [2009/07/24(金) 16:08:49 ID:???]
>>682
503だね。
前にもあったけど転送量オーバーか何かじゃなかったか?

何かdjangoにアクセス集まるようなできごとあったっけ。
>679かな?

684 名前:nobodyさん mailto:sage [2009/07/24(金) 16:24:32 ID:???]
djangoで作られてるんだろうけど
良く落ちてるよねw
djangoの信頼性に関わるんじゃないかなw
前はruby-lang.orgも良く落ちてたw

685 名前:nobodyさん mailto:sage [2009/07/24(金) 16:41:59 ID:???]
>>684
503は鯖落ちだろうからdjangoのせいではないでしょ。

686 名前:682 [2009/07/24(金) 16:51:12 ID:UDVYXghb]
自分のところだけじゃないんですね。
最近になってDjango触り始めたので早く復旧して欲しいです。


687 名前:nobodyさん mailto:sage [2009/07/24(金) 18:23:18 ID:???]
ダンジョーはこんなものだろう。

688 名前:nobodyさん mailto:sage [2009/07/24(金) 18:32:17 ID:???]
オンラインだけじゃ心配
pdfでまとまったドキュメントダウンロードしとかないと
いざと言うときにリファレンス出来なくて困るね

689 名前:nobodyさん mailto:sage [2009/07/24(金) 18:40:47 ID:???]
>>683
Djangの人たちは貧乏なITドカタばっかりなんだなきっと。



690 名前:nobodyさん mailto:sage [2009/07/24(金) 19:32:38 ID:???]
これだからドジャンゴは...

691 名前:nobodyさん mailto:sage [2009/07/24(金) 20:58:06 ID:???]
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!

692 名前:nobodyさん mailto:sage [2009/07/24(金) 22:18:30 ID:???]
ジャンゴってゾープに似てるよな。

693 名前:nobodyさん [2009/07/26(日) 21:35:56 ID:iKrDlglo]
www.djangoproject.jp

まだ落ちてるよ
日本人でDjangoをやっているひとたちは
サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな


694 名前:nobodyさん mailto:sage [2009/07/26(日) 21:58:09 ID:???]

一応言っておくが、djangoproject.jp のサーバーが落ちてるのは 、
ネットワークかバックエンドのデータベースの問題な。

djangoの問題ではない。


695 名前:nobodyさん mailto:sage [2009/07/26(日) 22:24:17 ID:???]
>>693
>サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな

ぬるい人たちが沢山よりつく
ぬるいフレームワーク
ということなのかね

696 名前:nobodyさん mailto:sage [2009/07/26(日) 23:43:45 ID:???]
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!

697 名前:nobodyさん mailto:sage [2009/07/26(日) 23:45:24 ID:???]
694が鯖落ちの原因について必要以上に詳しいのに嫉妬した。

698 名前:nobodyさん mailto:sage [2009/07/26(日) 23:58:24 ID:???]
>>694
それにしてもなさけないだろう。

699 名前:nobodyさん mailto:sage [2009/07/26(日) 23:58:55 ID:???]
Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Apache/2.2.8 (Ubuntu) mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g mod_wsgi/2.0 Server at djangoproject.jp Port 80


これってそういう意味なんか



700 名前:nobodyさん mailto:sage [2009/07/27(月) 12:47:40 ID:???]
僕たちサーバ管理よりイベントが大好きなんです
アッーー!

701 名前:nobodyさん mailto:sage [2009/07/29(水) 10:49:56 ID:???]
ドジャンゴ

702 名前:nobodyさん [2009/07/29(水) 17:42:33 ID:JeqPszXb]
Django 1.1 age

703 名前:nobodyさん mailto:sage [2009/07/29(水) 18:44:49 ID:???]
日本のダンジョーたちにはさっさとドキュンメントを1.1に対応させてもらいたい

704 名前:nobodyさん mailto:sage [2009/07/29(水) 22:53:41 ID:???]
>>702
どじゃんご?

705 名前:nobodyさん mailto:sage [2009/07/30(木) 18:57:42 ID:???]
どじゃんごはユルい体脳PHPerをPython方面に連れてくるのをやめて欲しい

706 名前:nobodyさん mailto:sage [2009/07/30(木) 19:43:12 ID:???]
>>705
もうちょっと日本語で!

また、サイト落ちてない?(´・ω・`)

707 名前:nobodyさん mailto:sage [2009/07/31(金) 22:48:31 ID:???]
中の人さん、復旧に数日かかるようなら一時的に退避サイトにリダイレクトできませんかね。

708 名前:nobodyさん mailto:sage [2009/07/31(金) 22:49:23 ID:???]
サーバが落ちてるんならリダイレクトもできないんじゃね?

709 名前:nobodyさん mailto:sage [2009/08/01(土) 13:30:18 ID:???]
色々な点で、頭数が多いのは武器だと思うぞ。



710 名前:nobodyさん mailto:sage [2009/08/01(土) 14:11:41 ID:???]
1.1正式リリース聞いて行ってみたら落ちとる・・・

>>708

apacheそのものは生きてるんでないの?
1つめのVHostだとつながったし。

mocchom.ppona.com/
www.djangoproject.jp/

www.djangoproject.jp has address 61.195.146.169
mocchom.ppona.com has address 61.195.146.169


711 名前:nobodyさん mailto:sage [2009/08/01(土) 14:12:30 ID:???]
PHPの方から来ました^^

712 名前:nobodyさん mailto:sage [2009/08/01(土) 18:39:42 ID:???]
mod_python is dead

713 名前:nobodyさん [2009/08/14(金) 21:40:37 ID:nEGqdMK6]
     ttp://www.moongift.jp/2009/08/jobboard_beproud_200908_2/

    即日ってすでに炎上してるっぽいんだが
    こういうのに手を出したがるおめでたいヤツって今時居るのかね



714 名前:nobodyさん mailto:sage [2009/08/14(金) 22:39:41 ID:???]
むしろ不況の今だからこそ
パクッと逝くんだろなw

715 名前:nobodyさん mailto:sage [2009/08/14(金) 23:15:33 ID:???]
この条件でパクっと逝くようなやつが、デスマ案件にからんでどんなことが起こるのか楽しみだw
有能な人はいつでも忙しいよ

716 名前:nobodyさん [2009/08/15(土) 02:56:45 ID:LWrcnMLs]
           \
            \
          ∧ニユ/ ̄ヽ
\        ( ´∀/)    i
\.\    _(」つ/とl) .  | \
;::;::\i\  匚レ| .〈/ )    |  \
 。::;;:'\.\   (_,)ー'    |_,, -'''"!
^人;:'::;゚:;.\l\     _,,, -''"|_,, -''"|
 ^^从::;;:。':\.\_,, -''"|_,, -''"|   . :|
 へ ^へ;;::';;:'\l_,, -''" .   | 从^    〜
 ^ ^ヘ^人从::;;;:|    ,ィ人^. |  ^ ^へ^^
  〜 ^.へ' ^':レ^从 へ'  | 〜   ^
 へ ^^ へ 〜人^ ^  へ〜  〜

717 名前:nobodyさん mailto:sage [2009/08/15(土) 18:34:22 ID:???]
>>715
デスマでなw

718 名前:nobodyさん mailto:sage [2009/08/15(土) 18:54:31 ID:???]
夏なのにへんなのだが、寒くないか?

719 名前:nobodyさん mailto:sage [2009/08/15(土) 20:17:17 ID:???]
そのリアクションがね



720 名前:nobodyさん [2009/08/15(土) 22:16:19 ID:LWrcnMLs]
デスマで忙しい香具師はここには来ないし
優秀な香具師もここには来ないな

721 名前:nobodyさん mailto:sage [2009/08/16(日) 04:41:25 ID:???]
ドジャンゴを使っている人々

- ブラック企業
- 低脳開発者(たいていはもとPHP使い)
- ITドカタ

厨房 / ブラック御用達フレームワークということですかね

722 名前:nobodyさん mailto:sage [2009/08/16(日) 06:50:49 ID:???]
-サーバが落ちていることより角電池が気になるひとびと

これ追加。

723 名前:nobodyさん mailto:sage [2009/08/16(日) 09:15:37 ID:???]
ドジャンゴなんて読めちゃう奴はpythonも素敵な読み方できそうだな

724 名前:nobodyさん mailto:sage [2009/08/17(月) 00:08:50 ID:???]
ピスゥォン

725 名前:nobodyさん mailto:sage [2009/08/17(月) 16:38:20 ID:???]
無茶振りして悪かったな

726 名前:nobodyさん mailto:sage [2009/08/17(月) 19:59:42 ID:???]
わかってくれればいいさ

727 名前:nobodyさん mailto:sage [2009/08/17(月) 21:16:33 ID:???]
調子のんな

728 名前:nobodyさん mailto:sage [2009/08/18(火) 00:36:56 ID:???]
ありがとうございます。助かりました。

729 名前:nobodyさん [2009/08/19(水) 17:50:11 ID:3kUVf7Ji]
>>721
むしろそれってRails使いのほうじゃね?
効率!て言葉に弱い人たち。

webでわざわざpython使うやつは
むしろひねくれものとか変わり者のイメージ
海外はしらね。



730 名前:nobodyさん mailto:sage [2009/08/19(水) 18:16:50 ID:???]
ドジャンゴーってRoRに似てるよね。
DRYとか「波に乗れ!」とか。

731 名前:nobodyさん mailto:sage [2009/08/19(水) 18:41:25 ID:???]
>>721
追加ヨロ。

- 効率!て言葉に弱い人たち。

732 名前:nobodyさん mailto:sage [2009/08/19(水) 18:45:08 ID:???]
DJANGOの人たちが毛嫌いされる理由が分かった気がするよ
な る ほ ど ね

733 名前:nobodyさん mailto:sage [2009/08/19(水) 22:28:42 ID:???]
ttp://image.blog.livedoor.jp/insidears/imgs/7/a/7a713e87-s.jpg

こんな風だと想像しているのだけどwww

734 名前:nobodyさん mailto:sage [2009/08/20(木) 00:56:55 ID:???]
相変わらず病気の人が粘着してるのか

735 名前:nobodyさん mailto:sage [2009/08/20(木) 18:10:18 ID:???]
>>733
VさんKさん、EさんにUさんまで!

736 名前:nobodyさん [2009/09/10(木) 22:51:48 ID:daFaF82U]
1.0になってバリデートの方法が変わったことは分かったのですが、
isAlphaNumericとかそういう検証テンプレートの代わりって無いでしょうか?

737 名前:nobodyさん mailto:sage [2009/09/14(月) 08:17:12 ID:???]
>>736
フィールドに、cleanメソッド追加してその中で、
\w+みたいな感じでチェックするんじゃダメなん?

それがめんどくさいってことかな?(´・ω・`)

738 名前:736 mailto:sage [2009/09/14(月) 10:04:14 ID:???]
>>737
今はその方法などでやっているのですが、
前はisAlphaNumericみたいな機能があったので
見落としてるのかと思って質問させていただきました _ _

739 名前:nobodyさん [2009/10/05(月) 00:22:49 ID:qNer6yag]
mod_python を使った django で辞書型やリストの値を
Ajax(JSON) で取ってきたいのですが、日本語が
文字化けしてしまいます。半日ググってみましたがわからずで、
誰か教えて下さい・・。

■ ビューの定義

def getdict(request):
tempdic = {u'名前': u'田中', u'年齢': 19}
return HttpResponse(unicode(tempdic))

■ ブラウザに返ってくる結果 → 化けてる

{u'\u540d\u524d': u'\u7530\u4e2d', u'\u5e74\u9f62': 19}

このときのレスポンスヘッダは「Content-Type text/html; charset=utf-8」。

(続きます)



740 名前:nobodyさん mailto:sage [2009/10/05(月) 00:24:52 ID:???]
(続きです)

■ やってみたこと → すべて効果なし

1. apache起動用シェルに環境変数追加
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

2. mod_python 用 location ディレクティブに変数追加
<Location "/">
...
SetEnv LANG ja_JP.UTF-8
SetEnv LC_ALL ja_JP.UTF-8
...

3. ソースに文字コード指定追加
# -*- coding: utf-8 -*-

4. sitecustomize.py に文字コード指定追加
/usr/lib/python2.5/site-packages/sitecustomize.py に、
import sys
sys.setdefaultencoding('utf-8')
を追加


741 名前:nobodyさん mailto:sage [2009/10/05(月) 00:44:54 ID:???]
return HttpResponse(tempdic)



742 名前:nobodyさん mailto:sage [2009/10/05(月) 02:54:45 ID:???]
unicode(tempdic)
化けてるんじゃなくてこれが原因だろ

743 名前:739 mailto:sage [2009/10/05(月) 11:52:56 ID:???]
試してみましたが、どうもうまくいきませんでした。
初心者ですみませんが、アドバイスいただければ助かります。

■ unicode()なしの場合
tempdic = {u'名前': u'田中', u'年齢': 19}
return HttpResponse(tempdic)

■ 結果

名前年齢

とだけ出力されます・・。(keyのみでvalueが表示されません)

■ serializer を使う場合
辞書の内容を明示的にjsonにしてみようと思いましたが、
こちらもうまくいきませんでした。

tempdic = {'名前': '田中', '年齢': 19}
json_serializer = serializers.get_serializer("json")()
json_serializer.serialize(tempdic, ensure_ascii=False, fields=(u'名前', u'年齢'))
return HttpResponse(tempdic)

■ 結果
エラーで「'str' object has no attribute '_meta'」となりました。

744 名前:nobodyさん mailto:sage [2009/10/05(月) 13:12:40 ID:???]
同じく初心者だから、間違ってたら御免ですが
こんな感じじゃ駄目ですか

import json

何か設定・・・

print "Content-Type: text/plain"
print
#書き込まれたJSONを戻す
print json.write(tempdic)

745 名前:743 mailto:sage [2009/10/05(月) 13:43:56 ID:???]
たちどころにうまくいきました!!
昨日から一日中悩んでいたので超助かりました!!
ほんとにありがとうございます。

■ コード
def getlist(request):
templist = []
tempdic = {u'名前': u'田中', u'年齢': 19}
templist.append(tempdic)
templist.append(tempdic)
templist.append(tempdic)
return HttpResponse(json.write(templist))

■ 結果
[{"名前":"田中","年齢":19},{"名前":"田中","年齢":19},{"名前":"田中","年齢":19}]

746 名前:nobodyさん mailto:sage [2009/10/05(月) 13:49:42 ID:???]
return HttpResponse(repr(templist).decode('unicode-escape'))

ttp://python.rdy.jp/wiki.cgi?page=%C6%FC%CB%DC%B8%EC


747 名前:nobodyさん mailto:sage [2009/10/05(月) 13:50:44 ID:???]
>>739の段階では、文字化けはするもののちゃんとjson形式で返せてるんだよね?
単にブラウザにJSON返したいだけなら、下手にJSONのライブラリ使わないでそのまま文字コードを
化けないようにする方法を考えた方が良いと思うけど。

pythonでの文字コードの扱い方わかってますか?(もっと言うと、WEBでの文字コードの扱い方わかって
ますか?UNICODEエンコーディングとUTF-8エンコーディングは別物です)
www.python.jp/doc/release/lib/built-in-funcs.html
↑のunicodeのところもう一度よく読んでみてください。

748 名前:747 mailto:sage [2009/10/05(月) 13:58:44 ID:???]
ありゃ解決済みか失礼

749 名前:nobodyさん mailto:sage [2009/10/05(月) 14:15:37 ID:???]
お役に立ったようでなによりです

PythonもJSONも始めたばかりですが、なかなか面白いので
色々試行錯誤で試し中です

同じような方がいて、ちょっとうれしい



750 名前:745 mailto:sage [2009/10/05(月) 14:22:59 ID:???]
いろいろとご教示ありがとうございます。
実はweb/pythonの文字コードにはあまり慣れていなく、四苦八苦しています。
(いままでDBサーバ用に C とか iphone 用にObjective-C とか中心でした)
いただいたリンクも読ませていただきましたが、まだまだ基礎の理解が
足りないと認識しました。(勉強します)

いただいたコードも試してみましたが、2.x 系だと decode しても、
「u」は取れないんですね。3.x 系は違うみたいですが。。
いまは取り急ぎ、JSON ライブラリを使おうと思っています。

■ decode() する場合
tempdic = {u'名前': u'田中', u'年齢': 19}
templist.append(tempdic)
templist.append(tempdic)
return HttpResponse(repr(templist).decode('unicode-escape'))

結果:
[{u'名前': u'田中', u'年齢': 19}, {u'名前': u'田中', u'年齢': 19}]

■ json ライブラリを使う場合
tempdic = {u'名前': u'田中', u'年齢': 19}
templist.append(tempdic)
templist.append(tempdic)
return HttpResponse(json.write(templist))

結果:
[{"名前":"田中","年齢":19},{"名前":"田中","年齢":19}]

751 名前:750 mailto:sage [2009/10/05(月) 14:24:32 ID:???]
>>749
ほんとありがとうございます!!

752 名前:nobodyさん mailto:sage [2009/10/05(月) 14:48:48 ID:???]
そもそも HttpResponse の使いかたを間違っているような気がするのは漏れだけ?

753 名前:nobodyさん mailto:sage [2009/10/05(月) 14:51:43 ID:???]
>>743
>■ serializer を使う場合
>辞書の内容を明示的にjsonにしてみようと思いましたが、
>こちらもうまくいきませんでした。
>
>tempdic = {'名前': '田中', '年齢': 19}

なんでこの場合だけuつけなかったの?

754 名前:743 mailto:sage [2009/10/05(月) 14:57:41 ID:???]
> そもそも HttpResponse の使いかたを間違っているような気がするのは漏れだけ?

そ、そうだったんですか。
で、できれば詳しくお願いしたいです。

> >tempdic = {'名前': '田中', '年齢': 19}
> なんでこの場合だけuつけなかったの?

すみません。いろんなパターンで試していたので、
書きこんだときのコピペミスでした。。。
結果は同じでした。('unicode' object has no attribute '_meta')

755 名前:nobodyさん mailto:sage [2009/10/06(火) 07:14:12 ID:???]
adminでInline使ったら、formset._raw_dataがないって怒られるようになった…
ボスケテ…
なんかで環境ミスったかなぁ…

756 名前:nobodyさん mailto:sage [2009/10/07(水) 19:57:04 ID:???]
from django.utils import simplejson
tempdic = {u'名前': u'田中', u'年齢': 19}
return HttpResponse(
simplejson.dumps(tempdic, ensure_ascii=False),
mimetype='application/json')

みたいなんじゃダメなん?

757 名前:nobodyさん [2009/10/22(木) 09:35:55 ID:0wcJiBNp]
ウェブアプリケーションじゃなくて普通のPythonプログラムで
DjangoのO/Rマッパーだけ流用したいのですが,可能ですか?

import django.db.models

class AAA(django.db.models.Model):
    a = django.db.models.IntegerField()

ダメもとでこんな風に書いてみたところ

 File "C:\Python26\lib\site-packages\django\db\models\base.py", line 52, in __new__
    kwargs = {"app_label": model_module.__name__.split(?.?)[-2]}

と怒られたのですが, app_label って settings.py の内容から
抽出されたりしているのでしょうか? app_label ってなんぞ・・・

758 名前:nobodyさん [2009/10/22(木) 11:06:15 ID:xPFAZg5G]
可能

759 名前:nobodyさん mailto:sage [2009/10/22(木) 11:11:08 ID:???]
PylonsはモデルにデフォルトではSQLAlchemyというO/Rマッパーを使用します。
SQLAlchemyのデフォルトデータベースはSQLiteです。これらは変更可能ですが、ここではこのまま使用します。

from pylons import config
from sqlalchemy import Column, MetaData, Table, ForegnKey, types
from sqlalchemy.orm import mapper
from sqlalchemy.orm import scoped_session, sessionmaker
 
Session session = scoped_session(sessionmaker(autoflush=True, transactional=True, bind=config['pylons.g'].sa_engine))
metadata = MetaData()
 
polls_table = Table('polls', metadata,
        Column('id', types.Integer, primary_key=True),
        Column('question', types.Unicode(200)),
        Column('pub_date', types.DateTime)
)
 
choices_table = Table('choices', metadata,
        Column('id', types.Integer, primary_key=True),
        Column('poll', types.Integer, ForegnKey('polls.id')),
        Column('choice', types.Unicode(200)),
        Column('votes', types.Integer)
)
 
class Poll(object):
    pass
 
class Choice(object):
    pass
 
mapper(Poll, polls_table)
mapper(Choice, choices_table)



760 名前:nobodyさん mailto:sage [2009/10/22(木) 13:33:53 ID:???]
>>757
settings.py書いて、環境変数に設定しないと、使えなかったと思う。

失敗した時って、DBの設定はどうしていたの?

761 名前:757 [2009/10/22(木) 14:26:06 ID:0wcJiBNp]
第一関門クリアしました.
app_label はモジュールのフルパスの下から二つ目を
勝手に取ってきてくれるのか.モデル(のインスタンス)
はできたっぽい.

1)settings.py のDBに関する内容はこれ

DATABASE_ENGINE = ?sqlite3?           # ?postgresql_psycopg2?, ?postgresql?, ?mysql?, ?sqlite3? or ?ado_mssql?.
DATABASE_NAME = ?testdb?             # Or path to database file if using sqlite3.

2)application.pyの内容は

import DjangoSample.model
aaa = DjangoSample.model.AAA()
aaa.num = 5
aaa.save()

3)model.py の内容は
import django.db.models

class AAA(django.db.models.Model):
    num = django.db.models.IntegerField()

これらを DjangoSample っていうディレクトリに入れて
空の __init__.py 作って application.py を実行.
環境変数は DJANGO_SETTINGS_MODULE = DjangoSample.settings
これで testdb つーファイルもできたけど,
aaa.save() のところで execute が実行できなかった.
カーソルが開けてないのかな?先は長そうだ.

762 名前:757 [2009/10/22(木) 14:26:53 ID:0wcJiBNp]
SQLAlchemy が有名なのか.
Google App Engine で遊んでて,そのまま
モデルとか流用したいなぁと思ったので
Django の O/R マッパーが似てるなとおもって.

763 名前:757 [2009/10/22(木) 14:30:48 ID:0wcJiBNp]
SQLiteのファイルはできてたけど 0 バイトって・・・
PyDev でステップ実行すると
sqlite3.OperationalError: no such table: DjangoSample_aaa
ということなのでテーブルができてない.

Djangoのスタートアップを模倣しないとだめなのかな?
Djangoはテンプレート機能だけ拝借して使ったことが
あったので,次は O/R マッパーだけ拝借したい.

764 名前:757 mailto:sage [2009/10/22(木) 14:34:41 ID:???]
django-admin.py syncdb とかやらねばならなかったのか・・・?
日本語のマニュアルがみつからねぇ.
ていうか 0.xx のばっか見つかる.

765 名前:757 mailto:sage [2009/10/22(木) 14:55:43 ID:???]
できたっぽい
まずあほなことに models.py を間違えて model.py にしてた.
次に INSTALLED_APPS に "DjangoSample" を入れてなかった(アホ).
そのうえで syncdb を直接呼んでみた.

import DjangoSample.model
import django.core.management
django.core.management.execute_from_command_line(["abcde", "syncdb"])
aaa = DjangoSample.model.AAA()
aaa.num = 5
aaa.save()

ちゃんと sqlite のデータベースにテーブルが作られて
レコードが挿入されたっぽい.

さて,このままアプリケーションを書いたとして,
py2exe なんかで固めたら django が丸ごと含まれるのかなぁ.
素直に SQLAlchemy とかの O/R マッパー使うべき?
って聞かれても「すきにすれば?」だよな・・

766 名前:nobodyさん mailto:sage [2009/10/22(木) 15:06:29 ID:???]
>py2exe なんかで固めたら django が丸ごと含まれるのかなぁ.

「丸ごと含まれる」 ではなくて
django の場合ダイナミックに生成されるクラスが
参照しているものを py2exe で追いかけ切れないから
固めるときに漏れが出来るんじゃないかな
で結局実行するまで判らない w
そうならないように django 丸ごと含めるしかなくなると


767 名前:757 mailto:sage [2009/10/22(木) 15:47:16 ID:???]
import DjangoSample.model
import django.core.management
django.core.management.execute_from_command_line(["abcde", "syncdb"])
aaa = DjangoSample.models.AAA()
aaa.num = 5
aaa.save()
django.core.management.execute_from_command_line(["abcde", "dumpdata"])

最後にダンプしてみたらレコード入ってた.
こんな使い方するのはどうなんだろう.

768 名前:nobodyさん mailto:sage [2009/10/22(木) 17:23:45 ID:???]
aaa = DjangoSample.models.AAA(num=5)
aaa.put()
すきにすれば?

769 名前:757 mailto:sage [2009/10/22(木) 18:08:27 ID:???]
calling save() would save the entity directly to the datastore
って書いてあったんだけど,save()は直ちにコミットする,
put()はそうじゃないんだっけ?

それにしても
django.core.management.execute_from_command_line
を直接呼び出すのは結構強力だなぁ
dumpdata もデフォルトでは扱いやすい JSON でシリアライズされるし.




770 名前:nobodyさん mailto:sage [2009/10/22(木) 18:50:19 ID:???]
code.djangoproject.com/ticket/11982
モデルが変わった時どうすんだ?
モデルのバージョンを埋め込んでおいて何とか対応か?
と思ったらこんなプランが

771 名前:nobodyさん mailto:sage [2009/10/31(土) 13:42:35 ID:???]
ダンジョー






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<162KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef