[表示 : 全て 最新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

650 名前:nobodyさん mailto:sage [2009/04/26(日) 03:09:59 ID:???]
小物は何匹集まっても小物なんだね。

651 名前:nobodyさん mailto:sage [2009/05/04(月) 23:37:44 ID:???]
ttp://sugaya.otaden.jp/e35093.html

ダンジョーが何匹集まってもかないそうにないね.

652 名前:nobodyさん mailto:sage [2009/05/05(火) 14:03:29 ID:???]
グロ注意

653 名前:nobodyさん mailto:sage [2009/05/11(月) 21:09:39 ID:???]
gdgd

654 名前:nobodyさん mailto:sage [2009/05/16(土) 09:21:10 ID:???]
Djangoのテンプレートエンジンで、レイアウトテンプレートは使えますか。
Railsとかにある機能なんですけど。
テンプレートの継承が使えるかなと思ったのですが、ちょっと違いました。


655 名前:nobodyさん mailto:sage [2009/05/17(日) 05:37:13 ID:???]
それでいい

656 名前:nobodyさん [2009/05/24(日) 10:13:30 ID:OkexyHIj]
プロジェクトとアプリケーションの使い分けがよくわからないのですが、
どのような状況でひとつのプロジェクト内に複数のアプリを利用するのでしょうか?

djangoのアプリケーション=MVCフレームワークのコントローラのような使い方?

657 名前:nobodyさん mailto:sage [2009/05/24(日) 20:34:25 ID:???]
プロジェクト内に、メールフォームを設置したり、ブログを設置したり、wikiを設置したり・・・
といったこともアプリ単位で考えらますよね。
ちなみに、Djangoおなじみのadminやユーザー管理機能もアプリの1つです。
再利用しやすい部品にしているのがアプリだと認識しています。
ぱっと思いついたのはこんなところです。

658 名前:nobodyさん [2009/05/25(月) 01:09:08 ID:9fHNdHG5]
どのdbに接続するかって問題じゃなくて?



659 名前:nobodyさん mailto:sage [2009/05/25(月) 01:17:44 ID:???]
接続するdbは1つのはずだけど・・・どういうこと?

660 名前:nobodyさん mailto:sage [2009/06/01(月) 14:54:16 ID:???]
質問です。form.as_tableってやっぱ簡単なテストなんかに
使えるけど本番としては使わないような機能なんでしょうか?

たとえば

name = models.CharField(max_length=32)

とかやった場合、

<th>Name:</th>

と出力されますよね? これを

<th>お名前:</th>

にしたい場合はやっぱas_tableを使わずに地道にテーブル書いて
いくというのが定石でしょうか? それともなんか技があるんで
しょうか?

661 名前:nobodyさん mailto:sage [2009/06/01(月) 21:18:24 ID:???]
>>660
nameの定義に
verbose_name=u'お名前'
を追加したらできると思う。

それかFormでlabelを設定するか。


本番では使わない方がいいっていう記述を見た気がするけど、どこで見たのか忘れた。
自分は、凝ったことしようとしたときに、一から地道に書き直すの面倒だから、
最初から地道に書くようにしてる。

662 名前:nobodyさん mailto:sage [2009/06/01(月) 22:54:05 ID:???]
verbose_nameは主にadmin向けの変数なので、Formでlabelを定義するに一票かな。

663 名前:nobodyさん [2009/06/02(火) 03:43:41 ID:y5DfRLdd]
name = models.CharField(u'お名前', max_length=32)


664 名前:660 mailto:sage [2009/06/02(火) 14:12:58 ID:???]
>>661-663
サンクス。

>>663をそんなバカな、と思ってやってみたらできました!
でもこの方法、ドキュメントに見あたらないんですが。

665 名前:nobodyさん mailto:sage [2009/06/02(火) 16:17:48 ID:???]
初めて発見したときは目から鱗でした

666 名前:nobodyさん mailto:sage [2009/06/02(火) 16:23:45 ID:???]
ttp://michilu.com/django/doc-ja/model-api/

詳細なフィールド名
各フィールドの型は、 ForeignKey, ManyToManyField および OneToOneField を除き、
オプションの固定引数 (positional argument) を第一引数として指定できます。
この引数には人間可読なカラム名を指定します。
引数を指定しなければ、 Django はカラム名のアンダースコアをスペースに変換して、
自動的に人間可読なカラム名を生成します。

下の例では、人間可読なカラム名は "Person's first name" になります:

first_name = models.CharField("Person's first name", max_length=30)

下の例では "first name" です:

first_name = models.CharField(max_length=30)

ForeignKey, ManyToManyField および OneToOneField では、
第一引数は必須で、モデルのクラスにします。
従って、人間可読なカラム名を指定するには、
verbose_name キーワード引数を使います:

poll = models.ForeignKey(Poll, verbose_name="the related poll")
sites = models.ManyToManyField(Site, verbose_name="list of sites")
place = models.OneToOneField(Place, verbose_name="related place")

慣習的に、 verbose_name の先頭の文字は大文字にしないことになっています。
Django は必要なときに先頭の文字を自動的に大文字にします。

667 名前:nobodyさん mailto:sage [2009/06/21(日) 18:25:00 ID:???]
完全に詰んだ。
助けてくれ

model.py
from django.db import models

class Article(models.Model):
subject = models.CharField(max_length=200)
body = models.TextField(max_length=2000)
photo_name = models.CharField(max_length=200)
pub_date = models.DateTimeField("date published")
image = models.ImageField(upload_to="img")

class Admin:
list_display = ("subject",
"body",
"photo_name",
"pub_date",
"image",
)


668 名前:nobodyさん mailto:sage [2009/06/21(日) 18:46:19 ID:???]
何を助けてほしいのよ



669 名前:nobodyさん mailto:sage [2009/06/21(日) 19:28:53 ID:???]
view.py(抜粋)
if request.method == 'POST':
# get cleaned PhotoWithThumbForm
form = ArticleSubmitForm(request.POST, request.FILES)

if form.is_valid():
form.full_clean()
cleaned_data = form.cleaned_data

pub_date = forms.DateTimeField()
cleaned_pub_date = pub_date.clean(datetime.datetime.now())

article = Article()
article.photo_name = cleaned_data["photo_name"]
article.image = cleaned_data["image"]
article.pub_date = cleaned_pub_date

article.save()

こんな感じで画像のアップロードをさせたいんだが、
フォームからPOSTリクエストを送ると画像だけがMEDIA_ROOT/imgにアップロードされない。
エラーも何も吐かない。adminから編集してもやはり画像だけはアップロードされない。

たすけt

670 名前:nobodyさん mailto:sage [2009/06/21(日) 19:29:59 ID:???]
1時間もラグるとかどんだけだ

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}]






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

前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