トップページphp
314コメント104KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/12/15(木) 23:47:02.03ID:???
LL言語「Python」で実装されたWebフレームワーク Django
Web開発する上で必要となる機能がそろっており、
管理サイト画面を自動作成できるなどの特色を持ちます。

前スレ
【Python】Webフレームワーク Djangoスレ Part1
http://kohada.2ch.net/test/read.cgi/php/1156612854/

本家サイト
http://www.djangoproject.com/

日本語ユーザ会「Djangoと日本の仲間たち」
http://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
0002nobodyさん2011/12/15(木) 23:47:31.14ID:???
落ちてたので立て直してみた
何度も落ちてるのでまた落ちると思うけどよろすく
0003nobodyさん2011/12/18(日) 22:42:56.54ID:???
で、今一番人気はどのフレームワークなの?
0004nobodyさん2011/12/19(月) 00:34:25.25ID:???
>>3
Djaンゴwwwwwww
0005nobodyさん2011/12/19(月) 23:04:09.58ID:???
↑マジで?
Turboの方がいいとか前聞いたことあったけど、やっぱDjangoなのか
速度も速いし、ライブラリのように使えて便利とか聞いて、そうなのかと思った記憶がある
0006nobodyさん2011/12/26(月) 11:41:05.70ID:???
同時並行で2つのアプリを作るならポート番号は別のにしないとダメ?
交互に起動すれば出来ると思ったんだけど、できなかった。
0007nobodyさん2011/12/26(月) 12:40:03.88ID:???
>>6
ポートは別にした方が無難。

同じポートを使いまわす場合は、ソケットオプションのreuse-addrを有効にしないと、
サーバが終了しててもしばらくの間はそのポート番号が使えない事がある。

grep してみたところ、djangoにそれっぽいオプションはなかった。
0008nobodyさん2011/12/26(月) 14:56:38.54ID:???
22 Dec django 1.4 alpha 1 released
ttps://docs.djangoproject.com/en/dev/releases/1.4-alpha-1/

Porting 2.x code so that it runs on 2.x and 3.x from a single codebase
ttps://code.djangoproject.com/wiki/PortingNotesFor2To3

Proposal: drop Python 2.5 support in Django 1.5
ttp://groups.google.com/group/django-developers/browse_thread/thread/a5e642c0e5fd6626
0009nobodyさん2011/12/26(月) 15:15:53.68ID:???
>>7
ありがと
8000と8080で頑張るわ
0010nobodyさん2011/12/26(月) 15:48:49.02ID:???
補足で、ポートを分けた方がいい理由としては、もうひとつ。

同じポートだとブラウザのキャッシュのアドレスが混ざってしまい、
別アプリ側のキャッシュを読んでしまう可能性があります。
0011nobodyさん2011/12/27(火) 06:06:43.86ID:???
ラインハルトさま
0012nobodyさん2011/12/27(火) 19:32:02.12ID:???
googleトレンドでフレームワークの比較したしたに
密かに django の数を支えてくれてるかも知れないお方ですね(違
0013nobodyさん2012/01/02(月) 04:48:35.54ID:???
>>11
生きる権利を行使するなら
それに見合った義務を果たせ
0014nobodyさん2012/01/03(火) 09:37:05.06ID:???
複合キーが使えないとかアホすぎる。、
0015nobodyさん2012/01/04(水) 21:31:19.42ID:???
同じ汎用ビューを複数使うとPaginatorを見るときに
最後のものを参照してしまうのですがどうすればいいでしょうか?

例えばurlsのところで
(r'^/A/(?P<page>[0-9]+)/$',
'django.views.generic.list_detail.object_list',
dicA),
(r'^/B/(?P<page>[0-9]+)/$',
'django.views.generic.list_detail.object_list',
dicB),

としたときに
A/1/のところでPage.next_page_number()を見ると
B/2/に飛んでしまいます。
0016nobodyさん2012/01/08(日) 19:07:42.92ID:???
djangoって2chじゃぜんぜん盛り上がってないですね
0017nobodyさん2012/01/09(月) 10:09:58.37ID:???
>>16
基本的に仕事ないからな
0018nobodyさん2012/01/10(火) 00:56:59.16ID:???
pythonで仕事できる会社少ないイメージあるね。
一度はpythonで食ってみたいもんだが。
0019nobodyさん2012/01/14(土) 12:34:09.69ID:???
あまりに過疎りすぎるとフレームワークやらライブラリが発展しなくなるのが心配。
海外ではそれなりに活性化されてるのかな?
0020nobodyさん2012/01/15(日) 16:43:29.95ID:???
日本はjavaかphpだけだよな
pythonのwebフレームワークはdjangoが一番無難とおもう
0021nobodyさん2012/01/21(土) 04:24:28.26ID:???
Djangoのルールに乗っかれないとバッドノウハウの塊になっちゃうのがなぁ。
(認証でUserテーブルを独自に定義したい場合とか)

他にいいフレームワークないですかね。
Flaskって奴もよさそうだけど、ちょっと軽量すぎる・・・

TurboGearsはどうなんだろう。

それとも素直にRailsとかCakePHP使っとくべきですかね。
0022nobodyさん2012/01/21(土) 04:47:17.81ID:???
Pylonsってのもあるのか。
0023nobodyさん2012/01/21(土) 07:22:45.45ID:???
pylonsはオワコン
pyramid
0024nobodyさん2012/01/21(土) 07:23:25.54ID:???
>>21
werkzeug
0025nobodyさん2012/01/22(日) 21:23:50.03ID:???
>>21
それはどんなフレームワークでも同じじゃね?
0026nobodyさん2012/02/07(火) 23:14:28.71ID:???
django-cmsって使ってる人いる?
0027nobodyさん2012/02/09(木) 22:59:21.30ID:lRLr0cSK
サーブレットのように、あるリクエストで生成したインスタンスを
レスポンスが完了した後も残しておくことって出来ないですか?

出来ない場合、同じようなことをやろうと思ったらキャッシュ機能を
使うしかないですかね?
キャッシュだとシリアライズのコストの分が余計にかかるので
できればサーブレットのようにプロセスが常駐してインスタンスを
そのままメモリ上に持たせておきたいと思ったのですが・・・
0028nobodyさん2012/02/09(木) 23:21:54.04ID:/iRWC1gw
タコですが質問です。

djangoって静的ファイルはhttpdでやれよって思想だと思うんですが、
セッション管理によるアクセス制限
(例えばdjangoでログイン中のみapacheから静的ファイルにアクセスできるようにする)
っていう仕組みはどのように実装したらいいんでしょうか?
0029nobodyさん2012/02/09(木) 23:24:12.52ID:/iRWC1gw
>>27
私はタコですがセッションのどこかに放り込んでおけばいいのでは?
http://docs.nullpobug.com/django-doc-ja/trunk/topics/http/sessions.html#topics-http-sessions
0030nobodyさん2012/02/10(金) 04:07:32.68ID:???
>>27
memcached
0031nobodyさん2012/02/17(金) 18:11:15.99ID:???
この本読んだひといますか?
感想聞かせてください

WSGIウェブプログラミング
ttp://www.amazon.co.jp/dp/4877832882/

書評悪すぎてわろす
0032nobodyさん2012/02/19(日) 09:53:00.31ID:???
URLディスパッチャがめんどくさすぎる
0033nobodyさん2012/02/20(月) 09:54:33.74ID:???
>>28
djangoの「思想」は無視すればいいと主受け尾d。
URLに対応するファイルを読み込んでユーザチェックで分岐して
renderする処理を加えればいいだけじゃないの。
簡単にできるでしょう。
0034nobodyさん2012/02/20(月) 10:17:08.89ID:???
主受け尾d、ってなんだ・・タイポした

なお、djangoのstatic拒否っていう「思想」は別に珍しくなくて、
ホントにstacicならサーバにまかせます、っていうだけでしょ。

日本語の1.0 documentation読んでるとなんかすげー厳しいなあと思うかも知れないけど
1.3documentationの
https://docs.djangoproject.com/en/dev/howto/static-files/
を読めば1.0にはなかった
django.contrib.staticfiles
っていう仕組みもある。
0035nobodyさん2012/03/06(火) 19:10:17.43ID:???
Modelから作るフォーム、ModelFormで初期値を設定する事はできませんか?

-- model.py
class Shops(models.Model):
id = models.IntegerField(primary_key=True)
shop_name = models.CharField(max_length=765, verbose_name=u"店舗名称")

class ShopDetails(models.Model):
shop = models.ForeignKey(Shops,primary_key=True, verbose_name=u"店舗名称")
prefecture = models.ForeignKey(Prefectures, verbose_name=u"都道府県")

こういう二つのモデルがあって、ShopDetailsのフォームを

-- forms.py

class ShopDetailForm(ModelForm):
class Meta:
model = ShopDetails
exclude = ('shop',)

として、定義してます。
/shops/detailadd/12/
とかでidが12番を指定されている時は
いちいち、shopを選ぶフォームを出力したくないので
既にshopの中身に12番を入れておきたいのですが…

伝わりにくい質問でごめんなさい。
0036nobodyさん2012/03/06(火) 19:21:31.04ID:???
defaultとかあったと思うが,Metaでやるとできないか
JavaScriptでやるか,12をテンプレートでレンダ
0037nobodyさん2012/03/06(火) 22:42:25.29ID:???
>>36さん

レスありがとうございます。
<input type="hidden" name="shop" value="{{ shop_id }}>
みたいなテンプレートでやってみたんですが、Validateでエラーになってしまったもので...

Djangoマニュアルの英語版も読んだんですが、こういうところが書かれてないんですよねぇ。
どこかノウハウが集まってるサイトとかないんでしょうか。

みなさんはDjangoの情報収集はどこでされてますか?
GoogleのDjangoグループは全然更新されてないんで、困ってます...
0038nobodyさん2012/03/08(木) 20:42:59.17ID:???
たしかフォームクラスの__init__()でself.fields["fieldname"]に値いれればいけたと思う

この例だと

class ShopDetailForm(ModelForm):
 class Meta:
  model = ShopDetails
  exclude = ('shop',)

 def __init__(self, *args, **kwargs)
  shop_id = kwargs.pop( 'shop_id', None )
  super( ShopDetailForm, self ).__init__( *args, **kwargs )
  self.fields["shop"] = shop_id

かな
shop_idを与えてShopDetailFormを呼ぶ形で
0039nobodyさん2012/03/08(木) 23:23:35.64ID:???
ごめん嘘書いてた

class ShopDetailForm(ModelForm):
 class Meta:
  model = ShopDetails

 def __init__(self, *args, **kwargs)
  shop_id = kwargs.pop( 'shop_id', None )
  super( ShopDetailForm, self ).__init__( *args, **kwargs )
  if shop_id:
   self.fields["shop"].initial = shop_id

なんしかself.fields["hoge"]をイジれば動的にフィールドを操作できます
0040nobodyさん2012/03/12(月) 10:05:17.14ID:C6qcHZnA
Django1.2を使ってます
テンプレートの使い方で質問していいでしょうか?
ちょっと困ってます

dataA.dataB[0].dataC を取り出す方法です。

[0]という表記がシンタックスエラーを出すので調べたらスライスフィルタを使えと

dataA.dataB|slice:"0:1" これだとdataBは取り出せますがここから詰まってます

どうか解決法をご存知の方ヒントをお願いします。
方法がなければデータそのものを加工して対処します。
0041nobodyさん2012/03/12(月) 15:15:04.03ID:???
簡単なマッパーかますのが一番楽じゃないかな
http://tokibito.bitbucket.org/bpmappers/
これとかオススメ
0042nobodyさん2012/03/12(月) 15:23:09.23ID:C6qcHZnA
うわーー 最初からこれ使えばよかったーーー
0043nobodyさん2012/03/12(月) 23:05:19.96ID:7b+JBvuO
テーブル生成についての質問なのですが
djangoでテーブルを動的に生成することってできますか?

ユーザ情報(これはカラム固定)がDBに入っていて
そこからある計算を行ってデータを作るのですが
それがカラム数が動的に変わってしまうのです

要するに動的に create を発行すればいいのですが
djangoの場合だとモデルクラスが対応してないとダメですよね…
というよりモデルクラスが先にあって、そこからテーブルを
作成するのが基本ですよね…

なにかうまい方法はないでしょうか…?
(すみませんが設計で回避というのは無しでお願いします)
0044nobodyさん2012/03/13(火) 03:34:44.28ID:???
発想を変えて動的にモデルをつくるようにしてみては?
モデルのプロパティはJSONとかにシリアライズしてblobで保存とか
MongoDBとかでも動的に変更できるけど茨の道
0045nobodyさん2012/03/21(水) 00:32:52.23ID:???
いよいよDjango1.4正式版でるね
0046nobodyさん2012/03/21(水) 03:08:20.87ID:???
なにが変わるの?
0047nobodyさん2012/03/21(水) 15:05:16.44ID:???
結構機能追加されてんね
1.3のデータベース周りの大幅アップデートに比べると霞むけど
テンプレートタグのelifは有難すぎ
0048nobodyさん2012/03/23(金) 17:41:38.22ID:???
djangoが楽すぎて他のフレームワークいじる気力なくなる
0049nobodyさん2012/03/27(火) 17:54:08.18ID:???
django使ってるのって、日本で10人ぐらい?
0050nobodyさん2012/03/28(水) 07:08:10.63ID:???
すごい優れたフレームワークだと思うので実践投入しようとしてるんだけど。

和書は1.0前のしかないし、Django Book 2.0すら和訳途中で頓挫してるし…
Googleグループも過疎ってるし。日本語で情報共有できないのが辛い。
英語だけどKindleの電子書籍はいっぱい売ってるし、海外フォーラムでは話題が多いんだよね。

逆に、今なら日本語Django界で名を挙げるチャンスなの?w

githubとかでもいいからDjango使っているプロジェクトとかソースコード読んで参考にしたい。
誰か情報共有してくれー!
0051nobodyさん2012/03/28(水) 10:08:47.56ID:???
そもそもPython使ってる人が日本に20人ぐらいしかいないから。
0052nobodyさん2012/03/28(水) 11:50:18.09ID:???
俺もいるから21人だな
0053nobodyさん2012/03/28(水) 13:38:31.77ID:???
いや、お前入れて20人だから
0054nobodyさん2012/03/28(水) 13:39:31.42ID:???
こういう地域による過疎フレームワークってどうやって情報共有すればいいんだろうね
0055nobodyさん2012/03/28(水) 13:54:02.73ID:???
英語読めれば問題ない
0056nobodyさん2012/03/29(木) 12:41:43.24ID:???
電気無ければただの箱的な?
0057502012/03/29(木) 16:31:42.56ID:???
Django使うような奴らは国内なんかが住処じゃねーって!?

日本じゃ王道はRubyでRails。
Pythonなんかインデント言語って馬鹿にされて、
日本じゃ誰も評価されないDjango使う馬鹿は相手が世界ってことか?

面白いじゃないの!実践投入させてもらうぜ!
0058nobodyさん2012/03/29(木) 17:30:04.77ID:???
世界目指そうぜ
0059nobodyさん2012/03/29(木) 17:54:31.44ID:???
ケータイサイトとか作るんじゃなければいいかもね。
今さらケータイサイトとか作ってる場合じゃないけどな。
0060nobodyさん2012/04/01(日) 02:28:54.90ID:2batclMo
ええと…

class input_data:
class output_data:
class hoge:
def calculate(input_data data):
return output_data

djangoとは別にこんなモジュールがあったとして(これ自体はcui上で動く)、これをdjangoを使って
webアプリにしたいんですが、その場合にinput_dataとoutput_dataをDB経由で処理するには
どうしたらいいでしょうか?

hogeはviews.pyから呼べばいいと思いますが、input_dataとoutput_dataは、これらと全く同じ
モデルクラスを作り直すしかないですかね
でもそうなると結局hogeも作り直す必要がありますよね・・・・

できれば既にあるソースを流用したいんですけど、そういうことをするにはdjangoでは無理ですか?
(ORマッパーがモデルクラスと一体化してるというか)

何かいいアイデアあったら教えてください m(_ _)m
0061nobodyさん2012/04/01(日) 19:41:26.66ID:???
django用にクラス作りなおすしかないんじゃないかな
0062nobodyさん2012/04/01(日) 20:24:12.51ID:???
モデルの中にdataクラスいれるのが単純かなぁ。(コンポジション?)
モデルにdataクラスへの入出力追加するだけだし。
0063nobodyさん2012/04/01(日) 20:44:17.44ID:1e7s1g7e
>>62
> モデルの中にdataクラスいれるのが単純かなぁ。(コンポジション?)
> モデルにdataクラスへの入出力追加するだけだし。

すみません、具体的なイメージが湧かないのですが
例えばinput_dataが

class input_data:
def __init__(self, name, value):
self.name = name # string
self.value = value # integer

こんなクラスだとしたら、これをプロパティにしたモデルクラスって
具体的にどうなるんでしょうか?
0064nobodyさん2012/04/02(月) 08:58:12.36ID:???
データベースへのアクセスはdjangoのORMを使うの?
それとも別に用意されてるの?
0065nobodyさん2012/04/02(月) 23:50:34.00ID:VGFPGSaK
>>64
ORマッパーが先に決まっているわけではないです
djangoのモデルクラスを利用して既にあるデータクラスを
そのまま使える方法があれば一番いいですし
それが無理そうなら別の方法を考える、という感じです。

昨日調べてたらSQLをそのまま発行することは出来るみたいなので、
資産の有効利用を優先するならそれもありかな、と少し考えています。
0066nobodyさん2012/04/03(火) 00:06:10.55ID:???
カスタムマネージャでなんとかなるかも
マネージャをゴリゴリ書く必要あるけれども
ただちっと面倒くさいよね何やるにしても
0067名無しさん2012/04/03(火) 20:20:49.11ID:1QQjv7Jc
寛解に至らない
0068nobodyさん2012/04/05(木) 14:53:34.26ID:zbL83UyR
偉い人へ:
djangoforms の BooleanField で checkboxを出すとHTMLが、
「ラベル □」になちゃうんだけど、「□ ラベル」にするのってどうやるの?
0069nobodyさん2012/04/05(木) 21:04:53.80ID:???
自分はその辺の面倒くさいところテンプレートでやってる
widgetを書く方法もあるけどテンプレートの方がしっくりくる

class Hoge(Model):
 name = BooleanField()

のモデルがあるとしてこのモデルフォームのテンプレート変数名がformだとした場合

{% for field in form %}
<label>{{ field.label}}</label>{{ field }}

みたいな感じで自由に組める
あとはHTMLとCSSでお好きなように

この辺も参考にしてみて
ttps://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#customizing-the-form-template
0070nobodyさん2012/04/05(木) 22:30:34.63ID:zbL83UyR
>>69
自分でテンプレートに展開するのって自由で素敵ですね。
トライしてみます。偉い人ありがと。
0071nobodyさん2012/04/07(土) 16:34:57.81ID:BeoWQwVe
他のスレで質問したところ、こちらへ誘導されました: http://kohada.2ch.net/test/read.cgi/php/1302598469/725-726
以下、上記URLより再掲です。

---

スクリプト の import と テンプレートの extends とがそれぞれよくわかっておらず、ファイルの置き場所がごちゃごちゃになってしまいます。整理するにはどうすればよいでしょうか。

問題点
● テンプレートの多重継承がうまくできない
operation1.html で {% extends "../master.html" %}
master.html で {% extends "../base.html" %}
とすると base.html が見つからなくなります。どうやら孫にあたる operation1.html からの相対パス ../base.html を探しているようです。
・ テンプレート内の記述を変えずに問題を解決する方法があれば教えてください。
・ django は 最初のバージョンのみでよいので、右記ページのような問題はありません。 http://stackoverflow.com/questions/5263623/templatedoesnotexist-on-python-app-engine-django-1-2-while-template-rendering-re

● import の書き方がわからない
大雑把にいって handler の中身が Controller, libs の中身が Model にあたります。
main.py で handlers1.py を、handler1.py で user_auth.py を、それぞれ import したいです。
・ import 文の書き方を教えてください。__init__.py が必要になるのであれば、内容も教えてください。
0072712012/04/07(土) 16:35:33.15ID:???
ファイル構成は下記のようにする予定です:
- app.yaml
- main.py
- handlers
- - handler1.py
- - handler2.py
- libs
- - user_auth.py
- - main_datastore.py
- template
- - base.html
- - master
- - - master.html
- - - operation1
- - - - operation1.html
...
0073nobodyさん2012/04/08(日) 01:26:13.09ID:???
相対じゃなくて絶対でやるといいよ

相対 {% extends "../master.html" %}
絶対 {% extends "master/master.html" %}

でsettings.pyのTEMPLATE_LOADERSに
'django.template.loaders.app_directories.Loader',

これがついてると各アプリケーション・ディレクトリ内にあるtemplatesというディレクトリを探して"master/master.html"という記述ができるようになります

例:アプリケーション名"app_name"を持つdjangoのディレクトリ構造
app_name
- templates (アプリケーション・ディレクトリ内のテンプレート置き場)
- - app_name
- - - master.html
templates (プロジェクト全体で参照するテンプレート置き場)
- base.html

master.htmlからbase.htmlを継承するには、master.html内に{% extends "base.html" %}でok
このようにアプリケーション毎に分離しextendsしていくと綺麗に分離できるよ
0074nobodyさん2012/04/08(日) 01:27:37.88ID:???
importに関してはhandlersディレクトリとlibsディレクトリ両方に__init__.pyが必要
さらにmanage.pyにlibs/handlersを参照できるように以下を記述

import os
import site
import sys

ROOT = os.path.dirname( os.path.abspath( __file__ ) )
path = lambda * a: os.path.join( ROOT, *a )

prev_sys_path = list( sys.path )

site.addsitedir( path( 'handlers' ) )
site.addsitedir( path( 'libs' ) )

new_sys_path = []
for item in list( sys.path ):
if item not in prev_sys_path:
new_sys_path.append( item )
sys.path.remove( item )
sys.path[:0] = new_sys_path

で各ファイルでのimportを以下のように行える

main.py
from handlers import handler1

handler1.py
from libs import user_auth

検証してないけどこんな感じだよ
0075nobodyさん2012/04/08(日) 02:13:49.24ID:???
それとdjangoの基本的なディレクトリ構造は

project_name
- app_name
- - models.py
- - views.py
- - urls.py
- - templates
- templates
- manage.py
- settings.py
- urls.py

となってますので、可能であればhandlers内とlibs内のそれぞれの1と2を別アプリとして分離し作っていくのがあとあと楽と感じます

project_name
- app1
- - models.py(user_auth.py)
- - views.py(handler1.py)
- - templates
- - - app1
- - - - app1.html
- app2
- - models.py (main_datastore.py)
- - views.py (handler2.py)
- - templates
- - - app2
- - - - app2.html
- templates
- - base.html
0076712012/04/08(日) 10:24:06.17ID:???
>>73-75
回答ありがとうございます。今夜ためしてみます。
0077nobodyさん2012/04/08(日) 23:48:05.79ID:Iqgx/7Sd
なんか馬鹿みたいな質問なんですけど

djangoでwebアプリを作ったときに
定数とか設定ファイルみたいなものを用意して
webサーバー起動時にそれを一度だけ読み込んだら
アプリが終了するまではその値をいつでも参照できるように
しておくことってできないですか?

ちなみにwebサーバーはapacheを使ってます
(apacheとdjangoをmod wsgiで連携)
0078nobodyさん2012/04/08(日) 23:54:59.79ID:???
そいうのはsettings.pyに書いとくといいです
settings.pyにHOGE="hoge"としておくと

from django.conf import settings
settings.HOGE

と言った感じで参照できます
0079nobodyさん2012/04/09(月) 01:35:18.14ID:8JTXJRql
なるほど!
ありがとうございました!
0080nobodyさん2012/04/10(火) 22:13:14.47ID:nA+GylzO
gae/p の blobstoreで、アップロードのついでに POSTした日本語が文字化けする障害って
まだ直っていないようですね・・
何年か前に Google-App-Engine-Japanに障害報告が上がってるのに。
仕事遅いなぁ中の人。

この障害への回避策って、Base64エンコードぐらいでしょうか?
0081nobodyさん2012/04/11(水) 02:44:16.83ID:???
gaeでdjango使うのしんどくない?
0082nobodyさん2012/04/11(水) 10:56:01.11ID:WgNPCZsm
>>81
何とか使ってます。
0083nobodyさん2012/04/13(金) 13:19:14.34ID:0/eMv/lO
超伸びてるし…
>>34
ありがとうございました
0084nobodyさん2012/04/13(金) 13:23:02.97ID:???
phpディスられてる割りにユーザ増えんね…
0085nobodyさん2012/04/13(金) 23:04:56.60ID:???
日本だとrubyに流れるんだろうね
2.x系は日本語の扱い面倒くさいし
0086nobodyさん2012/04/13(金) 23:40:44.62ID:???
ruby使ってる人=はてな民=常に上から目線みたいなイメージがあって、どうもrubyに触手が動かない
0087nobodyさん2012/04/14(土) 00:46:37.29ID:???
>>84
戦車に例えると
PHP4はT34/76
PHP5はT34/85

Railsはパンター
DjangoはタイガーI
って感じだからな。
JavaとかASP.NETはM4と言うか米軍
0088nobodyさん2012/04/14(土) 02:27:39.44ID:???
>>87
例えがむつかしい。
0089nobodyさん2012/04/14(土) 02:51:40.51ID:???
言語とフレームワークごちゃまぜなのがいただけない
0090nobodyさん2012/04/14(土) 02:57:17.67ID:???
>DjangoはタイガーI

重そうww
喩えが非常に良くないw
0091nobodyさん2012/04/14(土) 03:02:12.44ID:???
>rubyに触手が動かない
ひどい偏見ながらbeginとかendとか見た時にMSのマクロ系連想しちゃって受け付けなかった
pythonってweb以外にも科学技術計算とか沢山あるしね
数の暴力でアホみたいにライブラリ充実させて、負けることは絶対無いと思う
googleさんもいるし…
0092nobodyさん2012/04/14(土) 23:30:25.46ID:???
begin end はPascal系だろ
0093nobodyさん2012/04/16(月) 15:34:39.61ID:???
1.4文書にはリリースするならmod_wsgi使えって書いてあるね
ttps://docs.djangoproject.com/en/1.4/topics/install/
0094nobodyさん2012/04/16(月) 21:36:37.11ID:???
1.4でstartprojectしたら

project
-manage.py
--project
---settings.py
---wsgi.py

みたいになっててちょっと焦った
manage.pyの処理もちょっと変わったみたいで過去のプロジェクトそのままじゃ動かんかった
あとrunserverもwsgi指定できんのかな
settings.WSGI_APPLICATIONとかオプション出来てる
あとで調べてみよ
0095nobodyさん2012/04/16(月) 23:17:56.03ID:???
mod_wsgiだとDjangoがなぜかApacheで走らなくて
mod_pythonで動かしてる俺にはヤバいニュースだな。

ドキュメント通りにインスコしても何も表示されないんだよなー。
0096nobodyさん2012/04/17(火) 00:08:34.20ID:???
nginx+uwsgiマジオススメ
0097nobodyさん2012/04/17(火) 02:08:18.68ID:???
>>94>>95の時刻逆になってるぞ

mod_wsgi系の設定はここにかいてあるっぽい
ttps://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/
0098nobodyさん2012/04/17(火) 02:09:06.53ID:???
>>94>>95の時刻逆になってるぞ

勘違いでした^^;
0099nobodyさん2012/04/18(水) 00:34:32.35ID:???
1.4かなり変わってんだな
urlテンプレートタグとGeneric View直すの面倒かった
0100nobodyさん2012/04/18(水) 12:43:31.07ID:Wype6WQ2
uwsgi調べてたら、タイムアウト指定する引数がharakiriとか出てきてワロタ
0101nobodyさん2012/04/19(木) 02:40:41.54ID:???
これいいな
メモリリークが一目でわかる
ttps://github.com/munhitsu/django-dowser
0102nobodyさん2012/04/19(木) 20:46:19.69ID:1eA2rign
申し訳なす、テンプレートの書き方なんですが、
例えばUserオブジェクトに属性email、アクセサemail()があるとき
{{ user.email }} とは書けるけど {{ user.email() }} だとエラーになります。

TemplateSyntaxError: Could not parse the remainder: '()' from 'user.email()'

これはどうしてなんでしょうか。
ドキュメントにはテンプレートエンジンが.(dot)を見つけたとき以下の順で評価を試みるとあるけど
関係してるのかなんだかさっぱり・・・
辞書の照合 (lookup)=>属性の照合=>メソッドの呼び出し=>リストをインデクス指定して照合
0103nobodyさん2012/04/19(木) 21:00:09.93ID:1eA2rign
勘違いしてました。Userオブジェクトには属性emailは存在せず、メソッドのみでした。
ということは、テンプレートに書くときはメソッド呼び出しにカッコはつけないということなのかな。
ぐぐってたら"丸括弧を付ける必要はありません"と書いてるページがあって
曖昧ではありますが、ひとまずそのつもりで進めてみますですm(_ _)m
0104nobodyさん2012/04/26(木) 07:06:17.63ID:RMLosHkb
先生、質問です。

FormPreviewを使って、プレビュー付きの登録ページを作っています。
普通はこんな感じ↓でurls.pyに書いて呼び出しますが、

url(r'^register$', RegistFormPreview(RegistForm)),

既にDBに情報が記録されている場合、
その情報を編集できるように、こんな感じ↓の処理をさせたいと考えています。

def register(request):
try:
  # DB登録済みなので編集画面を表示
  profile = request.user.get_profile()
  return RegistFormPreview(RegistForm(profile))
except SiteProfileNotAvailable:
  # DBにないので、新規登録画面を表示
  return RegistFormPreview(RegistForm())

けど、関数内からClass Based Viewを呼び出すことはできないみたい。
何か良い方法ないでしょうか?
0105nobodyさん2012/05/04(金) 17:07:52.09ID:???
>>86
遅レスだが動くのは食指だと思うの。
0106nobodyさん2012/05/04(金) 21:43:09.08ID:???
>>105
ネタにマジレスとかどうかと思うの
0107nobodyさん2012/05/09(水) 15:53:29.80ID:???
Djangoを、Ruby on Railsと比較した場合
良い所と悪い所を教えてください。
0108nobodyさん2012/05/10(木) 12:15:07.36ID:???
比べられるもんでもないけど
強いて言えば何か問題あったとき日本語情報沢山あるのがror
コード読んで解決するのがdjango
pythonかrubyの違いは好みだしね
0109nobodyさん2012/05/10(木) 22:45:34.96ID:???
テンプレートについて質問です。
{% for x in X %} ... {% endfor %}
の後に、もう1度
{% for x in X %} ... {% endfor %}
を記述したところ、前半は表示されるのに後半は何も表示されませんでした。1つのシーケンスは1回しか使えないのでしょうか?
0110nobodyさん2012/05/11(金) 08:34:20.27ID:???
2回も同じループさせるとか無駄じゃね?
0111nobodyさん2012/05/11(金) 09:56:32.07ID:???
1つのデータをテーブル表示 & グラフ表示 (のために JavaScript 埋め込み) したいのです。
0112nobodyさん2012/05/11(金) 10:17:46.83ID:???
>>107
FormフレームワークはDjangoが圧倒的に優秀
あとRailsはコマンドラインが糞遅い。
よってRailsを選択するメリットは皆無
0113nobodyさん2012/05/11(金) 11:51:30.50ID:???
>>109
そいうことやったことないから原因わからんけど同じループ回せられないならviewでレンダリングしたHTMLをテンプレートに渡してやったらどう?
render_to_stringとかで
0114nobodyさん2012/05/11(金) 12:45:49.39ID:???
せっかくテンプレートで役割分担してるんだから、まだXのコピーを用意する方がマシかも。
0115109 / 1112012/05/11(金) 19:43:21.59ID:???
原因がわかりました。リストを渡したつもりがイテレータを渡していました。これは一度ループし終わると使えません。
0116nobodyさん2012/05/11(金) 21:08:24.13ID:???
バルス
0117nobodyさん2012/05/12(土) 23:49:26.94ID:Ss+1w/F4
職場の先輩がジュワンゴって発音するんですけど
どうしたらいいですか?
0118nobodyさん2012/05/13(日) 00:03:13.19ID:???
ド素人が今からDjangoを始めるなら1.3と1.4のどちらがオススメですか?
0119nobodyさん2012/05/13(日) 00:27:12.18ID:???
わかりません><
01201072012/05/13(日) 00:33:05.88ID:???
レスありがとう

>>108
日本語の情報が少ないのはしょうがないですね。
でも公式サイトの英語のドキュメントは丁寧に書かれている気がする。

>>112
DjangoはMVCのViewの部分が使いやすいってことですか?
Rails遅b「ってのは聞いbスことがありまbキ。
大部封ェはRubyの原因bゥもしれないけbヌ。

>>118
俺もDjangoこれからだけど素直に最新の1.4でいいんじゃないの。
覚えてる間に次のバージョンでるでしょうw
0121nobodyさん2012/05/13(日) 04:47:18.09ID:???
>>120
Djangoを学習している間にPyramidがメジャーになるのではという不安が。
0122nobodyさん2012/05/13(日) 20:10:42.88ID:???
>>112みたいに短絡的な結論出せる人が羨ましい
0123nobodyさん2012/05/13(日) 22:00:06.06ID:XIq+bFUq
djangoで異なる複数のリクエスト間で
(巨大な)オブジェクトをメモリ上に共有する方法ってないですか?

オブジェクトが小さければキャッシュ機能でmemcachedを使う
というのが良さそうですが、非常に大きい(数ギガ)オブジェクトを
共有したいのです
(memcachedだとオブジェクト一つのサイズには上限があるので
無理だと思ってるのですが、そんなことないですか?)

小さなオブジェクトが大量にあるのではなく
一つの巨大なオブジェクトというのが外せない条件になってます。
具体的な上限もなくて、システム上に展開できるサイズなら
何Gでも利用したいとなっています。

やりたいことのイメージは

「データを加工せよ」というリクエストを一回だけ発行して(この処理は遅くてもいい)
それ以降は
「加工したデータをグラフAにして描写」
「加工したデータをグラフBにして描写」
「加工したデータを更に加工」
というリクエストを発行

というものです。
この加工データが巨大なオブジェクトになっていて
複数のリクエストに対して高速に処理するために
メモリ上に共有させておきたいのです

何か上手い方法ないでしょうか?
0124nobodyさん2012/05/13(日) 23:10:09.79ID:???
>>123
共有ストレージの考えだとネットワークI/Oがネックになるし排他も面倒だから
加工処理用にバックエンドサーバを設けるのがシンプルかな。
んでキューでなげるようにすれば「データを加工せよ」ってのもフロント自体はすぐ返せるし、
バックエンドのクラスタ化も容易。
あとはフロントでキャッシュさせるなりチューニングしていくかんじ。
0125nobodyさん2012/05/13(日) 23:39:37.00ID:XIq+bFUq
>>124
不勉強で申し訳ないのですが
キューというのはメッセージ・キューイングと呼ばれる機能のことでしょうか?

具体的なイメージがよくわかってないのですが、仮にやりたかったことを

加工リクエスト
APPサーバがDBからデータ取得
取得したデータを加工
加工データを保持(この方法がわからなかった)
結果(加工しましたというメッセージ)をレスポンス

グラフAの描写リクエスト
APPサーバが保持されていた加工データをグラフ化
結果(グラフ)をレスポンス

として書いた場合、124さんの方法はどのような流れになるのでしょうか?
加工データ自体はAPPサーバとは別に立てたバックエンドサーバに保持
するということですか? またその場合、加工データは異なるリクエスト間で
共有されるのでしょうか?

質問ばかりですみません
0126nobodyさん2012/05/14(月) 09:28:20.64ID:???
>>125
> 加工データ自体はAPPサーバとは別に立てたバックエンドサーバに保持
そう。仮に物理サーバはいっしょでも論理的に役割分担させる。
保持はGBオーダなデータ加工だし、mmapにしとけばファイルにも逃がせられる。

> するということですか? またその場合、加工データは異なるリクエスト間で
> 共有されるのでしょうか?
フロントへの加工リクエストに対して同じ対象の描写リクエストがだせるってことは
なんらかの識別子が存在してるはずで、バックエンドでも同様にやればなんとでもできる。
0127nobodyさん2012/05/14(月) 12:26:51.96ID:???
>>118
1.4から日付周りが変わってるから後々面倒なことになりたくなかったら1.4がいいよ
あと多対多のインスタンスもjoinするprefetch_related()とかもあって1.4を選ばない理由がない
generic viewがクラスベースになり、日本語サイトを参考に出来ないのがちょっとハマるかもしれないけど
0128nobodyさん2012/05/15(火) 21:42:51.74ID:???
mmapじゃね。pythonはよくは知らんけど。
0129nobodyさん2012/05/16(水) 00:11:15.40ID:???
>>126
返信遅れました

正直まだ理解できてない部分があるのですが
何とかがんばってみます
(オブジェクトがリクエスト間で共有できるということは
バックエンド用のプロセスが新たに走っている
ことになるのですよね?)

もし「ここを見ればいい」というサイトがあれば
教えていただけるとありがたいです
01301232012/05/16(水) 00:17:58.30ID:???
ここは読んでおきました
http://d.hatena.ne.jp/yuku_t/20101018/1287391988

これを見た感じだとデータを保有しておくというよりは
文字通りジョブ(処理)を投げておいてバックエンドで実行させて
処理が終わり次第結果が返ってくるという印象を持ったのですが、
本来はそういう意図だとしても使い方を工夫することでストレージ
のように利用することも出来る、ということでしょうか
0131nobodyさん2012/05/29(火) 23:13:19.69ID:???
で、djangoとrailsあなたたちはどっちが良いと思ってるの?
0132nobodyさん2012/05/31(木) 21:16:34.98ID:???
どっちもどっちじゃない?
0133nobodyさん2012/06/01(金) 02:05:04.95ID:???
https://code.djangoproject.com/ticket/18392
utf8mb4対応くるだろうか
0134nobodyさん2012/06/17(日) 15:42:24.03ID:VLPHimKQ
eclipseで実行して「It worked!」って表示されるけど、index.htmlが表示されない
なぜ表示されないのでしょうか(htmlファイル等はバグ等なく作成済み)

eclipse 3.7.2
django 1.3.0
0135名無し2012/06/18(月) 10:55:27.84ID:AXkhynzr
今人気の芸能人相性診断♪

楽しめる人気の占い発見しちゃいました。
いくつか質問に答えるだけであなたにピッタリの人がわかっちゃう。
気になったかたはチェックしてみてね。
http://232bs7.info/2/
0136nobodyさん2012/06/20(水) 01:26:01.52ID:???
>>134
urls.py見直したら?
0137nobodyさん2012/07/07(土) 15:38:34.13ID:KIWI0EBX
django1.3でmodels.pyの位置をデフォルトから変えたら
管理画面にmodelsに定義したクラスが表示されなくなってしまって
とりあえずadmin.pyのほうをmodels.pyと同じフォルダに移したら
また表示されるようになったんだけど
admin.pyとmodels.pyって必ず同じフォルダい入れてないとダメなの?


admin.site.register(SampleModel, SampleAdminCls)

これを

admin.site.register(hoge.SampleModel, SampleAdminCls)

みたいにしても意味なかった
0138nobodyさん2012/07/19(木) 00:34:40.11ID:???
インスコはrailsよりラクだよなw
な?・・・
0139nobodyさん2012/07/19(木) 20:17:21.87ID:???
pip install django
0140nobodyさん2012/07/25(水) 01:35:10.73ID:???
djangoって、単純なことでハマることが多い。

例えば、メールアドレスでログインさせたい時とか、
ユーザー登録フォームを複数ページに分割させて
最後にプレビュー表示&メール認証させるとか、
よくあるシステムを構築するのに一苦労する。
0141nobodyさん2012/07/25(水) 01:43:35.48ID:???
年月日の入力Widgetも、
年と日は数字だけのSelectなのに、
月の部分だけは「○月」とか表示されるし、
サクっとできて欲しい機能がいまいち不完全。
情報共有したがらないPython使いの気質のせいか?
0142nobodyさん2012/07/25(水) 13:22:49.19ID:???
Railsはアホみたいに情報あふれてる、そのくせバージョン違いで使えないのが多くて萎える。
Djangoはその点Railsよりマシなはずなのに、情報自体少ない。
Djangoの情報が溢れれば楽なのにな
0143nobodyさん2012/07/27(金) 16:53:31.64ID:cxcs/EZn
MySQlの設定するときに決まってpasswordが打ち込めなくなるんだけど知ってる?

escで逃げちゃってるからきっとadminサイト入れない。
0144nobodyさん2012/07/28(土) 15:55:26.49ID:???
>143
DjangoとSQLのバージョン書こう

つうか、設定ファイルに書けばよくないか
0145nobodyさん2012/08/09(木) 00:46:11.95ID:CMriqrOl
Djangoの勉強を始めたばかりなのですが、わからないことがあり質問させて頂きます。

現在、勉強がてらにユーザ認証を行う掲示板のようなものをつくろうと考えています。
Modelとしましては、Entryクラスがあり、その中に
・書きこみ日時
・タイトル
・本文
・書きこみユーザ
という情報を持たせたいのですが、書きこみユーザはどのようにフィールドを設定すればいいのでしょうか?
まだ勉強中なのですが、認証にはDjangoのauthモジュールを使おうかと考えているのですが、そのauthモジュールの書きこみユーザとの連携方法がわかりません。

よろしくおねがいします。
0146Wob9w2012/08/09(木) 02:00:17.11ID:???
投稿テストですよん...( ̄ー ̄)ニヤリ
HOFj4DjMraDFpyM
133941476137733アメフトォ(大嘘) そして面接へ
0147nobodyさん2012/08/24(金) 00:33:32.43ID:???
>>145
request.userからユーザーオブジェクト拾って入れる
ForeignKey(django.models.auth.models.User)でいいと思うけど
ttp://djangoproject.jp/doc/ja/1.0/ref/request-response.html#django.http.HttpRequest.user
0148nobodyさん2012/08/31(金) 05:50:33.79ID:???
びっくりするほど過疎ってるね。
django、良いフレームワークなのに
なんでこんなに人少ないんだ?
そんなにPython使いが少ないのか、
そんなにPHPが便利すぎるのか。。
0149nobodyさん2012/08/31(金) 19:16:38.98ID:vOsjd0I6
日本でPython使ってる人なんて300人ぐらいしかいないもの
0150nobodyさん2012/09/03(月) 10:36:41.32ID:SqdE+p9Q
ImageFieldのheight_fieldとwidth_fieldは何をするためのものになるのでしょうか?

http://docs.nullpobug.com/django-doc-ja/trunk/ref/models/fields.html#django.db.models.ImageField.height_field
このページの説明では何を言っているのかよくわかりませんでした。
0151nobodyさん2012/09/08(土) 09:07:34.56ID:???
おひさしブリーフなんだけどまだデファクトなん?
0152nobodyさん2012/09/09(日) 12:55:38.23ID:So5recQR
最近pyramid使い始めた
0153nobodyさん2012/09/10(月) 10:18:25.23ID:SzEanAFy
CakePHPのセッションはUAと結び付けられているようですが、Djangoはそのような機能はありますか?

ブラウザのクッキーファイルが漏れて、セッションIDが奪われた時の対策としてどのようなものがあるか調べております。
0154nobodyさん2012/10/01(月) 09:36:29.13ID:Yqd8lXeW
URLFieldに入れる前に、URLFieldに入る値かどうかを確認したいのですが、そのようなことはできますか?
0155nobodyさん2012/10/01(月) 15:44:59.22ID:???
>>148
djangoさんが優秀すぎてグチるネタも無いからじゃないかな?
0156nobodyさん2012/10/02(火) 13:29:26.30ID:???
書きこんでも誰も答えてくれないので書き込みません
0157nobodyさん2012/10/07(日) 11:17:06.65ID:???
>>149
> 日本でPython使ってる人なんて300人ぐらいしかいないもの

お前ら一人ひとりがこの精鋭たちなんだな……
http://www.youtube.com/watch?v=CFZiil0DfMc
0158nobodyさん2012/10/22(月) 23:38:00.87ID:???
デプロイの定番ってどんな感じなのでしょうか
nginxとgunicornをネットではよく見かける
0159nobodyさん2012/10/25(木) 14:49:20.54ID:???
>>158
俺も知りたい。
nginxにしようか無難にapacheのままにしとくか迷ってる。
DBはPostgresが主流なのかな。
0160nobodyさん2012/11/15(木) 09:02:26.77ID:O5OuIbET
Djangoの勉強をしていたらDjangoにはまってしまい、Djangoでサイトを作りなおしております。

そこで1点悩んでいる部分があるのですが、現在制作しているサイトはPHPで制作しており、アクセス毎に携帯電話、スマートフォン、PC、IE6-8を切り替えて表示していたのですが、Djangoではこのようなアクセスの振り分けはどのように行うのが一般的になるでしょうか?

urls.pyに/sp/indexや/i/index等をはさみアクセスURL毎に端末を振り分けるとなると、Viewが端末毎に必要になりそうですし、全てのViewの中で端末のUAで振り分けるとViewの1メソッドが大きくなるのではないかと思っています。
携帯電話向けサイトだとAjaxなどが使えないためPCと遷移も変わるので、前者がいいのかとも考えているのですが、検索した際に携帯電話からPCサイトにアクセスすると見えなくなってしまうとも考えています。

私の考えをただ書かせて頂きましたが、一般的な方法や工夫されている方法などあれば教えて頂ければと思います。よろしくお願い致します。
0161nobodyさん2012/11/21(水) 21:48:36.75ID:???
Dajngoとか3日もあれば使いこなせるだろう
語ることすらないわ
0162nobodyさん2012/11/22(木) 00:15:52.74ID:???
じゃあ質問に答えてやれよ
0163nobodyさん2012/11/22(木) 01:17:16.06ID:???
>>862
フレームワークは3系に対応するまで覚える気になれません。
web2pyの対応を待ってるんだけど、Djangoはもう対応したのですか?
0164nobodyさん2012/11/22(木) 02:32:21.53ID:???
まだリリースされてないけど、1.5で対応するみたいよ https://docs.djangoproject.com/en/dev/releases/1.5-alpha-1/
0165nobodyさん2012/11/28(水) 13:22:36.30ID:???
>160
http://blog.madoro.org/mn/84
0166nobodyさん2012/11/29(木) 14:03:21.70ID:???
Djangoで初期にDBに保存しておきたい値はどのように設定すればいいのでしょうか?
0167nobodyさん2012/11/29(木) 19:16:21.88ID:???
DBに直接書き込む
0168nobodyさん2012/11/30(金) 08:04:28.86ID:???
Djangoには初期値を設定する方法は容易されていないのでしょうか?

そうなると、スクリプトを設置する際に、syncdbしたあとに書きこみスクリプトを実行し、そのあとにスクリプトを動かす必要があるという事でしょうか?
0169nobodyさん2012/11/30(金) 16:25:00.13ID:???
問答無用でselect文発行するソースでも書いてるのか?
0170nobodyさん2012/12/01(土) 11:24:52.03ID:???
>>166 >>168
逆に質問だけど
あなたが Django 使う前はどういう方法で DB の初期値を作っていましたか?
0171nobodyさん2012/12/01(土) 11:59:08.01ID:???
テストサーバーでデバグしたあと本番にデプロイするときに、スキーマはそのままで、
データだけ空(または必要最小限な初期値のみ&もちろんインデックスも最初から)に戻して
うpしてくれる機能があると便利かな、とは思う。
0172nobodyさん2012/12/01(土) 15:45:47.56ID:???
本番アップデートするたびに初期化されるのか。
胸熱
0173nobodyさん2012/12/05(水) 05:21:33.65ID:???
>>168
fixture かな
0174nobodyさん2012/12/18(火) 07:32:04.58ID:???
Djangoをレンタルサーバで使える業者ってありますかね? VPSで運用していると、OSやシステムのメンテナンスコストがかかってしまうため、レンタルサーバのように、メンテナンスは業者が行なってくれるところを探しています。
0175nobodyさん2012/12/19(水) 00:56:44.87ID:???
>>174
GoogleAppEngine
0176nobodyさん2012/12/20(木) 08:11:54.79ID:???
GAEで新しめのDjangoを使おうとすると、自分でDjango自体のメンテナンスが必要になるかと思います。そういったことも含めメンテナンスをしてくれる業者はありませんか?


納品してしまったら、こちらからはシステム以外のメンテナンスを余りしなくてもいいようにしたいです。
0177nobodyさん2012/12/26(水) 17:54:39.43ID:???
Django1.4を利用してDjangoの勉強をしております。
複数のデータベースを使った実験をしようと、
http://www.ianlewis.org/jp/django-model-other-db-memo
こちらを参考に特定のモデルの振り分けを試してみたのですが、
django.core.exceptions.ImproperlyConfigured: Error importing database router TestRouter: "cannot import name connection"
というエラーが出てしまいます。

検索すると、
http://stackoverflow.com/questions/11452837/django-database-router-cannot-import-name-connection
ここがみつかり、DATABASE_ROUTERSの上の行に
from django.db import connections
を追加するとエラーが出なくなります。
ですが、setting.pyの最上部に追加すると同じエラーが出ます。

これはなぜDATABASE_ROUTERSの上の行でなければいけないのでしょうか?
0178nobodyさん2012/12/27(木) 15:14:46.35ID:???
render_to_response()の第3引数のRequestContextというのが全く意味がわかりません
説明していただけませんか?
0179nobodyさん2012/12/29(土) 03:06:45.67ID:G1+BbVGH
馬鹿には無理
0180nobodyさん2013/01/05(土) 18:01:55.06ID:???
アプリ起業 iPhone C#まとめ Ver 1.5
http://tinyurl. com/9w97424
0181nobodyさん2013/01/07(月) 12:07:01.80ID:???
ModelFormを使ってフォームを作成しています。

UserForm( request.POST, request.FILES) のように、User登録フォームを作成しているのですが、passwordも入力された値を引き継がれるようです。これをパスワードのinputのvalueを空にしたいのですが、formsetの中身を操作するメソッドは用意されていないでしょうか?
0182nobodyさん2013/01/09(水) 01:21:05.79ID:???
formsetって書いてるけど、formでいいのかな?
form.is_validがFalseのときのエラー吐いたフォームでpasswordクリアしたいってことなら、
(TrueだったらHttpResponseRedirectを返すのがセオリーっぽいので
UserForm()には引数与えないだろうし)
javascriptのonloadイベントとかでクリアした方が楽かも。
0183nobodyさん2013/01/12(土) 08:19:26.89ID:???
どなたかsocial-pluginにmixiの対応をつけてくれませんか。
0184nobodyさん2013/01/18(金) 01:04:30.47ID:???
>>177
亀だけど、django/db/__init__.py中で
connections = ConnectionHandler(settings.DATABASES)ってなってるから、
settings.pyのDETABASES定義より下の行じゃないと
ダメなんじゃないかな。
0185nobodyさん2013/01/19(土) 09:59:59.34ID:???
fixtureを使ってUserを追加したいのですが、どのように書けばよいのでしょうか?
0186nobodyさん2013/01/23(水) 01:18:22.02ID:???
>>185
1〜2個User作って、manage.py dumpdataしてフォーマット見てみたら?
0187nobodyさん2013/01/23(水) 13:23:40.95ID:???
1.5全然来ないな
0188nobodyさん2013/02/12(火) 20:07:21.93ID:???
Southはpython3非対応?
0189房州2013/02/17(日) 18:07:03.35ID:???
俺は教えねえよ。俺は坊やの先生じゃないからな。お前もPy人なら自分で気づけ
0190nobodyさん2013/02/22(金) 18:16:32.21ID:???
PHP,Ruby(というよりRails)の次にDjangoに目をつけて勉強中だが、チュートリアルがわかりづらすぎて挫折しそう
一つ一つ追っていけばその段階ではわかるけど、仕様そのものが全く頭に入ってこない
0191nobodyさん2013/02/23(土) 13:45:14.87ID:???
>>190
他のフレームワークで開発していたら、置き換えるだけで理解できると思うんだが。
たとえばどの変がわかりにくい?
0192nobodyさん2013/03/06(水) 22:36:17.01ID:???
>>190
同意
0193nobodyさん2013/03/11(月) 00:25:01.26ID:???
>>190
ModelのところだったらModelのドキュメントを読みながら進めたりするとわかりやすいよ
0194nobodyさん2013/03/11(月) 00:26:00.34ID:???
django-social-authがPython3使えないみたいなんだがほかにいいライブラリって無い?
OAuth2&Python3で
0195nobodyさん2013/03/22(金) 18:57:26.97ID:???
test
0196nobodyさん2013/03/25(月) 19:52:29.13ID:???
おもろいけどすぐ飽きる
http://portal.nifty.com/2013/03/22/a/3.htm
0197nobodyさん2013/04/04(木) 12:10:00.96ID:???
>>190
いまいち体系化されてないんだよな。
middlewareやらsignalやらclass-based viewやら、
ちょっと奥まったところにいくとソースみるしかなくなる。

でもdjango自体はまだずっとマシで
そのオープンソースアプリになると全くドキュメントなかったりするから。
pythonのこういうところが普及しない原因なんだろうな。
0198nobodyさん2013/04/04(木) 16:51:07.95ID:mlSWjspl
>>197
はげど(死語)
0199nobodyさん2013/04/04(木) 17:49:08.54ID:???
馬鹿には無理
0200nobodyさん2013/04/04(木) 22:21:11.84ID:hTCiyNuO
Django + jinja2 の環境を作っていてはまってます。

以下のように settings.py へカスタムフィルタを指定すると、
" 'str' object is not callable " のエラーになります。
-----------------------------------
JINJA2_FILTERS = {
'datetimeformat': 'utils.filters.datetimeformat',
}
-----------------------------------

で、クォーテーションを取って関数直にすると動きます。

-----------------------------------
JINJA2_FILTERS = {
'datetimeformat': utils.filters.datetimeformat,
}
-----------------------------------

なぜ??偉い人教えてください。

django1.4.5 jinja2-2.6 django_jinja-0.11
0201nobodyさん2013/04/05(金) 00:29:47.17ID:???
>>200
文字列はcallableじゃないからとしか言いようが。。
0202nobodyさん2013/04/05(金) 09:17:53.64ID:???
DjangoってO/R Mapperをすきなものに
簡単に入れ替えて使えるようになってますか?
0203nobodyさん2013/04/05(金) 11:25:49.80ID:F/TEgITk
>>201
http://kay-docs.shehas.net/templates.html
0204nobodyさん2013/04/09(火) 13:48:17.20ID:???
>>202
できないし、やる意味もない。
0205nobodyさん2013/04/10(水) 14:16:59.81ID:???
>>202
できるけど、それならDjangoを使う意味がない
0206nobodyさん2013/04/10(水) 15:54:55.53ID:???
>>204-205
ありがとう
O/R mapperやテンプレートエンジンは何種類かから選べたり、
自由に入れ替えたりできるフレームワークもあるので、Djangoも
そうなってると思ったのですが、残念
0207nobodyさん2013/04/14(日) 20:18:57.11ID:???
iPhoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61
Http://qr. net/kh4y
0208nobodyさん2013/04/18(木) 22:35:21.76ID:???
django製の業務パッケージってなにか実例ないですか?
0209nobodyさん2013/05/01(水) 12:26:59.19ID:???
djangoアプリって日本好みなのは少ないね。
フレームワークとしては良いんだけどなぁ。
0210nobodyさん2013/05/01(水) 23:56:23.92ID:???
Webサイトは沢山つくったけど業務アプリ/パッケージはないな
そもそもWebサイトに比べてそんなに引き合いもないし
0211nobodyさん2013/05/09(木) 22:27:24.07ID:???
django1.3をscalaにポーティングしようかしら?
0212nobodyさん2013/05/10(金) 17:37:23.92ID:???
>>211
Scalaは人気ないし、JavaかC#に移植してほしい。
0213nobodyさん2013/08/02(金) NY:AN:NY.ANID:???
djangoを導入して、codezineのチュートリアルが終わりました。
データベースにMySQLを使っているのですが、テーブルの文字セットがlatin1_swedish_ciになっているせいなのか、
日本語のテキストを投入できないのですが、モデルの定義で症状順序を指定する方法はないのでしょうか?
0214nobodyさん2013/08/14(水) NY:AN:NY.ANID:???
オブジェクトにプロパティを追加した状態でシリアライズを行いたいのですがどのようにすればいいでしょうか?

django.core.serializers.serializeでシリアライズを行うと、オブジェクトに行った変更が維持されずにシリアライズされてしまいます。
0215nobodyさん2013/09/18(水) 12:08:44.39ID:gKUd666P
>>213
UTF8で作り直し

>>214
えっ
0216nobodyさん2013/09/23(月) 17:58:49.68ID:???
>>214

pickle.dump は?とか言ってみるテスト
0217nobodyさん2013/09/24(火) 18:51:53.67ID:qDsFnzSc
くっそー、すごく使いやすいし良いフレームワークだと思うのに、デプロイがうまくいかなくて腹立つ…
Djangoの問題じゃなくて、Apacheをうまくいじれない俺の問題なんだ…(;´д`)
0218nobodyさん2013/09/24(火) 18:56:41.79ID:???
途中でテーブルの列が変わったときと既存のテーブルとどうやって連携させるのかよくわからない
0219nobodyさん2013/09/24(火) 19:48:22.31ID:???
apatch捨ててnginx+uwsgiで行こう
0220nobodyさん2013/09/24(火) 21:31:45.65ID:???
>>219
俺もその構成だな
なにより軽い
0221nobodyさん2013/09/24(火) 23:56:34.50ID:???
>>217だけど

おk、nginxとuwsgiで行ってみる。
0222nobodyさん2013/09/28(土) 21:38:29.53ID:???
>>221だけど
うまくいったわ
ありがとう!
0223nobodyさん2013/09/29(日) 13:33:41.13ID:???
Python3用のチュートリアルはどこかにないでしょうか?
0224nobodyさん2013/09/29(日) 19:09:36.11ID:???
Django1.5の時点ではPython3って実験的サポートじゃなかったっけ
0225nobodyさん2013/09/29(日) 19:51:23.06ID:???
そうなんすか?
でもいまさらPython2系というのも後ろ向きな気がしますし…
0226nobodyさん2013/09/30(月) 02:52:14.59ID:???
Python2と3の違いなんて微々たるもんじゃん
0227nobodyさん2013/09/30(月) 11:04:14.98ID:4crUfdOT
まぁ1.4のドキュメント見ながら、1.5をいじっていけば良いと思うよ。日本語がいいならね。

Python2と3の違いは自分で何とかするなり、わからなかったらここで聞くなり。
0228nobodyさん2013/10/05(土) 21:53:42.87ID:rLQ0vSt3
social authがうまく動かなくてぐぬぬってなっとる
0229nobodyさん2013/10/07(月) 22:48:06.70ID:???
Django Social Auth、Django1.4だと
<a href="{% url socialauth_begin 'twitter' %}">ログイン</a>
で動くけど、1.5なら
<p><a href="{% url 'socialauth_begin' 'twitter' %}">ログイン</a></p>
じゃないと動かないのね…。
0230nobodyさん2013/10/10(木) 08:22:16.60ID:???
<p>タグなしだと動かんって、こりゃハマるわw
0231nobodyさん2013/10/10(木) 13:43:57.07ID:???
え?
0232nobodyさん2013/10/12(土) 10:14:16.07ID:katzcLBA
ごめん、pタグの有無が問題なんじゃなくて、 url って文字列をクォーテーションで囲むかどうかが問題なんだ。ごめん。
0233nobodyさん2013/10/12(土) 10:15:05.96ID:katzcLBA
urlじゃねぇや、socialauth_beginって文字列な。
0234nobodyさん2013/10/22(火) 17:34:54.08ID:???
いままでPHPのWebフレームワークしか使ったことないけどrailsは以外に簡単だった
Djangoは難しすぎる
まず、コントローラとViewとルーティングの3つすら全然わからない
0235nobodyさん2013/10/22(火) 20:21:30.74ID:???
それはいくらなんでもレベル低すぎないか・・・
0236nobodyさん2013/10/25(金) 13:21:28.78ID:upIsqz91
とりあえずわかんなくても、1.4のドキュメントのチュートリアルを一通りやればいいと思う。
で、それをもとに改変していけばそのうち慣れるんじゃない?
0237nobodyさん2013/10/26(土) 18:58:50.65ID:???
djangoで一からアプリ作るのは意外とわかりやすい。
でもアプリをいろいろ組み合わせようとすると大変なことになる。
djangoのバージョンも迂闊にあげられないし。
ショッピングサイトをsachimoベースで作ってるが、
一から自分で書いた方が早いんじゃないかと思えてきた。
0238nobodyさん2013/10/26(土) 19:05:11.06ID:???
>>237
DjangoはRailsにならって、レールに沿ったやり方で開発する前提でしょ。どんなフレームワークでもそうだけど、特に。
レールから外れるなら、フレームワークよりライブラリ組み合わせるのが普通だと思う。
0239nobodyさん2013/10/26(土) 20:16:45.45ID:???
>>237
それはDjangoというよりSatchmoの問題じゃなかろうか
他人の作ったAppを利用するのは思ったより面倒だからなぁ
02402342013/10/27(日) 11:53:23.07ID:???
マニュアルのみてもわかんない
これMVCじゃないよね
0241nobodyさん2013/10/27(日) 13:56:07.27ID:???
MTV a.k.a MVC
0242nobodyさん2013/10/27(日) 15:11:56.59ID:???
>>240
マニュアルにViewがControllerだって書いてなかったっけ。
0243nobodyさん2013/11/01(金) 19:41:43.32ID:???
>>240
馬鹿には無理
0244nobodyさん2013/11/10(日) 13:18:25.05ID:???
RailsやCakeを経て最近使い出したけどDjangoのORMって素敵だな
データベースありきじゃなくてちゃんとモデルが主役というか
今までDBの奴隷だったのが解放された感じ
0245nobodyさん2013/11/12(火) 02:25:04.60ID:W3f6KAuy
Django1.6ですよみなさん
0246nobodyさん2013/11/12(火) 05:46:48.93ID:???
>>245
settings.pyがシンプルすぎて目を疑った
でもuwsgiで動かそうとすると jingo ちゃんのせいでえらーになる
0247nobodyさん2013/11/12(火) 15:28:40.85ID:???
いつになったら1.4の翻訳は終了しますか?遅くないですか?
0248nobodyさん2013/11/12(火) 15:32:11.85ID:???
https://docs.djangoproject.com/en/1.6/topics/http/urls/
このぐらいの量なら1日1見出し分のゆっくり翻訳でも一ヶ月で終わりますよ
コミュニティがあまり活発ではないのでしょうか?
0249nobodyさん2013/11/12(火) 17:20:28.66ID:???
1.0からとか使ってる人は、大きな変更点さえ日本語であれば、後は英語でも困らないんじゃないか。
困ってるなら、あなたがやってもいいのよ。
0250nobodyさん2013/11/12(火) 21:08:41.51ID:???
別のフレームワークの日本語訳で忙しいから俺はやらないよw
0251nobodyさん2013/11/13(水) 01:25:01.46ID:???
なぜ英語も読めないのか?まずはそこを反省すべきではなかろうか
0252nobodyさん2013/12/06(金) 20:28:11.08ID:VQsT5HYM
Python3どうでしょう
0253nobodyさん2013/12/07(土) 04:58:47.30ID:???
とりあえず問題なくつかえてる
0254sage2013/12/07(土) 17:27:24.49ID:gAFb5wMQ
>>250
どのフレームワーク?証拠見せろよw
0255nobodyさん2013/12/13(金) 12:15:36.58ID:???
1.6でPython3対応したことを知って学び始めてるんですが、
https://docs.djangoproject.com/en/1.6/topics/auth/customizing/
のA full exampleのuser = self.model(…)の意味がわかりません
BaseUserManagerの中にmodelっていうメゾッドがあるんですか?
0256nobodyさん2013/12/13(金) 13:31:51.00ID:???
BaseUserManagerが継承しているManagerの中にmodelが定義されている
ドキュメント読んで疑問点が出たら django のソースを見るのが一番
たしかにそのあたりはちょっとややこしいけど・・・
0257nobodyさん2013/12/13(金) 14:56:46.43ID:???
ありがとうございます
こんなに早く回答がもらえるとは思ってなかった
0258nobodyさん2013/12/19(木) 13:42:20.81ID:???
1.5でカスタムユーザ追加されたらしいですけどその前はどうしてたんです?
0259nobodyさん2013/12/19(木) 15:10:00.19ID:???
>>258
profile使ってた。
0260nobodyさん2013/12/19(木) 15:41:05.68ID:???
カスタムユーザが便利すぎてもうprofileには戻れない
0261nobodyさん2014/01/18(土) 18:04:24.93ID:???
開発中にview内でprintで変数の中身を確認してるのですが本番環境でprintを消し忘れると
[Errno 5] Input/output error
で落ちてしまいます
これを回避する方法は無いのでしょうか?
0262nobodyさん2014/01/19(日) 01:49:06.58ID:???
logging使おう
0263nobodyさん2014/01/21(火) 05:07:03.69ID:???
それはloggingを使って変数の中身を出力して確認するという事なのでしょうか
それともprintが出力するはずだった情報をloggingが受け取る?ことでエラーが発生しないというなんでしょうか

あと、もし500を返すような致命的エラーが出たらメールで管理者に送る機能しか無くて、ファイルにlogとして残せないですよね?
メール送るところを自分で改変してログに残せそうな気もするんですがちょっと敷居が高過ぎます

http://www.18th-technote.com/post/5352244742/django-process-exception
今は上記を参考にviewで発生したエラーはprocess_exceptionで補足できてるんですが、
templateでもしエラーが起きたら補足できません
これデフォルトでなぜ付けないんだろうといつも疑問に思ってます
0264nobodyさん2014/01/21(火) 09:23:00.68ID:???
>>263
uWSGI だとまず >>261 の状況が発生しないのだけど
使ってる環境(サーバ)はなあに?

ちなみに、printで標準出力に出したものは uWSGIのログにも出力されるよ
0265nobodyさん2014/01/22(水) 21:52:13.79ID:???
>>264
gunicornです
gunicornでログを生成するようにしたらprintの内容が出力されてエラーが出なくなりました!
Django本体のログのことしか頭に無かったです
ヒントありがとうございます 大変助かりました
0266nobodyさん2014/01/25(土) 07:08:02.10ID:HM5WIj95
このスレでuWSGIを初めて知ったのですが良さげなんでしょうか
Djangoと言えばnginx+gunicornの組み合わせしか知らないんですが最近気になってます
0267nobodyさん2014/01/28(火) 23:39:54.41ID:???
同じくこのスレでuWSGIを知ったのですが、uWSGI+nginxにするとapacheに比べて
どの辺が嬉しいんでしょう?
0268nobodyさん2014/01/29(水) 17:12:34.45ID:???
Appach
潤沢なメモリがあるサーバならApacheでも良い
枯れているし対応する拡張も多い
でも兎に角メモリイータでリソースに厳しい

uWSGI
馬鹿っ速い・先進的な機能がテンコ盛り・省リソースで動く
0269nobodyさん2014/02/07(金) 23:56:26.65ID:NNxPDh1r
railsだのDjangoだのいじってる人はApache使わない印象
0270nobodyさん2014/02/13(木) 04:25:53.66ID:???
pyodbc.connect("DSN=hoge")
を含む関数を
manage.py shellから呼んでも通るんですが、
本番環境だとApacheがsegmentation fault(11)を吐きます
上記関数を含まない他のviewは問題なく表示できます。
どこらへん調べたらいいですか?

Apacheでmod_wsgiをdaemonモードで使っててDjango1.6です
0271nobodyさん2014/02/23(日) 22:30:46.68ID:???
ここえらい過疎だな・・・
RoRに比べて日本語の情報も少ないし、Django弄ってる日本人少ない?
RoRに浮気したいけど、初心者に厳しいとも聞くし
0272nobodyさん2014/02/24(月) 03:31:27.40ID:???
>>271
問題ないから話題がないとも。
閉鎖的な日本ではログインシステムが標準てのはいいかもね。
0273nobodyさん2014/02/24(月) 12:07:32.49ID:???
Web用にPython選ぶメリットって今は殆ど無いからね
0274nobodyさん2014/02/24(月) 14:39:31.70ID:Grf2Q2cg
Pythonは初心者がマルチバイト文字で詰まって投げ出してるイメージ
英語圏は楽でいいよな
0275nobodyさん2014/02/24(月) 20:18:43.30ID:???
あるわ
0276nobodyさん2014/02/24(月) 21:38:54.89ID:???
今日からDjango始めてみたんだけど、Viewの部分が面倒くさくない?
0277nobodyさん2014/02/25(火) 02:26:27.38ID:???
>>276
何と比べてるのかわからないが、標準View使えば。
0278nobodyさん2014/02/25(火) 06:29:04.41ID:???
面倒くさいと感じたことはないな
そもそもDjangoに限らずViewの部分なんて難しい処理とかないじゃん
0279nobodyさん2014/02/25(火) 16:06:21.05ID:???
Pythonで変数が設定されているか調べるにはどのようにすればいいですか?
PHPでいう、if(isset($var)){}のような事をしたいのですが
0280nobodyさん2014/02/25(火) 16:10:25.31ID:???
ごめんなさい、スレを間違えました
0281nobodyさん2014/02/25(火) 16:37:36.90ID:???
以下良くあるmysiteで書くけど、
Viewってmysite/mysite/urls.pyに毎回わざわざurlpatternsを書かないといけないの?
(r'^myapp/$', 'myapp.views.index')とか

また、アプリケーションとしてmyappを追加した場合、mysite/myapp/views.pyに毎回def index(request):context="" return HttpResponse(render())みたいな長ったらしいのを書かないといけないんでしょ?
で、テンプレートはmysite/template/myapp/以下にindex.htmlとして入れると

Smartyみたいに$view->assign();や$view->display()だけでいけるように設定できれば楽なんだけど
0282nobodyさん2014/02/25(火) 21:06:50.68ID:???
Djangoの設計概念の理解不足だと思う
とは言えドキュメントにこのあたりは纏まって書いてないので
ひと通りやらないと分からないのはちょっと不親切だったりする

まず"Djangoアプリ 再利用" とかでググってみておくれ
urls.pyにまとめてurlを書く利点はページのURL配置に自由度を持たせる為

viewの指定については、django.shortcuts.render でも使えばいい
それか同じように毎回書くのが面倒ならそのラッパを好きに自分で作る。

テンプレートの場所も設定で変更できる。
開発時の問題ならシンボリックリンクでも貼っておけば良い。
0283nobodyさん2014/02/25(火) 21:56:01.64ID:???
なるほど、ちょっと調べてみるね

それともう一つ質問あるんだけど、
例えばHTMLのフォーム(form.html)からanalyze.pyへ移動し、
そこでフォームのバリデーションなんかしたりしてから別のHTMLページに飛ばしたい場合は、
<form action="./analyze.py">でどのように指定すればいいの?
例えテンプレートform.htmlがanalyze.pyと同じディレクトリにあっても相対パスが適用されないよね?

CSSやJSの外部ファイルの読み込みの際にワケが分からなくてハマったんだけど
コレは/static/ディレクトリを作成し、その中に入れてなんとかなった

Djangoではマニュアルとか読んでてもModelがDBからみの事をいうような書かれ方してるけど、
自分は外部ライブラリなどもModelだと認識してる
analyze.pyのような関数やクラス群はどこに置いて、どのように指定すればいいの?
0284nobodyさん2014/02/25(火) 22:34:11.12ID:???
PHPはファイルの場所と名前からURL情報が作られる。
まずこれを綺麗サッパリ忘れてくれ。

Djangoでは まずURLを登録し、そのURLで実行する処理を指定する。
例えば urls.py に /hoge/ へのアクセスは myapp/views.py の hoge(request) で処理せよという感じで指定する。
換言すれば、urls.py に登録ないURLへはアクセスできない。

Formの処理については 日本語のドキュメントにサンプルがある。
それをまず真似て作ってみる。いきなりDjangoの流儀と違うやり方で実装しようとしないでまずはサンプルの理解から。

別のページに飛ばすのは redirect を使えばよいし、
analyze.pyに書いた処理でバリデーションしたければ、Formのバリデート処理に、analyze.py を import して使えばよい。
また、<form action="xxx">にForm表示とは違うURLを指定することも可能だが、そのURLは当然 urls.py に登録済みでなければ駄目だよ。

>自分は外部ライブラリなどもModelだと認識してる
違う
0285nobodyさん2014/02/25(火) 23:39:29.25ID:???
教えてくれてありがとね

analyze.pyを{{STATIC_URL}}内に入れてaction部にanalyze.pyを記述しフォームを実行したらanalyze.pyのダウンロードが始まったw

なるほど、Djangoって結構ガチッとしたFWなのかな
FWはZendFrameworkくらいしか使ったことないんだけど、アレは最初のコントローラー部で迷った以外はライブラリ感覚で使えたし、フォームなんかも無視して自分で実装しても問題なかった
対してcakePHPはガチッとしてると聞いた
ライブラリ感覚ならTurboGearの方がいいとか数年前読んだけど

自分としては、PythonはApache連携やら、フォームを作成後ブラウザからスクリプトを起動させるのが面倒くさいから、Django使おうって位の軽いユーザーのつもりだったんだけど、思った以上にブラウジングが面倒くさいなぁと
もうちょっと頑張って学習してみる



><form action="xxx">にForm表示とは
>違うURLを指定することも可能だが、
>そのURLは当然 urls.py に登録済みでなければ駄目だよ。

ココがちょっと分かんないんだけど、
mysite/libs内にanalyze.pyを入れたとして、
それらのディレクトリ、ファイルなど外部ファイルにアクセスするのにわざわざURL登録しないといけないの?
HTML,つまりViewを必要としないpythonファイルをディスパッチ、レンダリングするというなら、その方法が見当も付かないんだけど...
混乱してるなぁ...うぅむ...
0286nobodyさん2014/02/26(水) 00:25:11.85ID:???
{{STATIC_URL}} 静的なファイルを置く場所 JavaScript cssファイル 画像ファイル etc
{{MEDIA_URL}} ユーザがアップロードしたファイルを置く場所
上記にプログラムファイルを置いても駄目。
既に経験済みの様だが、プログラムファイルは実行されずダウンロードされてしまう。

>HTML,つまりViewを必要としないpythonファイルをディスパッチ、レンダリングする・・・
urls.pyには正規表現が使える。
たとえば url(r'^hoge/(?P<pagename>[a-zA-Z0-9]+).html$', 'mysite.views.nonview', name='nonview')
と定義すれば /hoge/foo.html や /hoge/bar.html といったURLを mysite/viers.py の nonview関数で処理できる
nonview関数ではpagename引数に入ったHTMLファイル名を 任意のディレクトリから呼び出し
HttpResponse 等で出力すればよい (もちろん任意のテンプレートでラップしてもよい)

または 静的HTMLの表示に全くDjangoを通さないくて良ければ {{STATIC_URL}} 以下にHTMLファイルを配置し
表示処理は HTTPServer にまかせてしまう
0287nobodyさん2014/02/26(水) 00:48:09.44ID:???
毎回毎回本当にありがとね
View部分の面倒くさい記述は教えてもらったので検索したりして何とかなった

慣れないとDjangoって難しいんだね
今んとこディスパッチャの部分が特に
皆自分で学んでいったんだろうけど、凄いなぁ

自分としては、
foo.htmlフォームの実行
-> analyze.pyよりフォームで送られてきたデータのバリデーションとデータベース接続、登録
-> リダイレクト
-> bar.html
というごく一般的なフォームの挙動を行おうとしただけでこれだけ悩んでる


{{STATIC_URL}} 静的なファイルを置く場所 JavaScript cssファイル 画像ファイル etc
{{MEDIA_URL}} ユーザがアップロードしたファイルを置く場所
上記にプログラムファイルを置いても駄目。
既に経験済みの様だが、プログラムファイルは実行されずダウンロードされてしまう。


>nonview関数ではpagename引数に入ったHTMLファイル名を 任意のディレクトリから呼び出し
>HttpResponse 等で出力すればよい (もちろん任意のテンプレートでラップしてもよい)

と言う事は、Djangoでは/lib/などの外部ファイル(admin.pyやsetting.pyなどではなく、myfunctions.pyのようなもの)は使えず、処理を行いたい挙動はnonview関数内にPythonスクリプトを書いていくということになるんだね?
なるほど
0288nobodyさん2014/02/26(水) 07:45:04.05ID:???
質問者はMVCが理解できていない
0289nobodyさん2014/02/26(水) 08:06:17.61ID:???
http://docs.djangoproject.jp/en/latest/misc/design-philosophies.html
http://d.hatena.ne.jp/shuji_w6e/20090514/1242227504
まずこのあたりに目を通してはどうだろうか
0290nobodyさん2014/02/26(水) 21:53:50.81ID:???
Two scoop of django 1.6のkindle版マダー?
0291nobodyさん2014/02/26(水) 22:48:12.48ID:LOhj6Qup
例えば日毎に複数モデルからデータを持ってきて表示するカレンダーを作る場合、
Manager:date等を指定してのクエリ(戻り:QuerySetや集約後のデータ)
View:Calendar.monthdatescalendarのような構造の配列を作る
    それぞれのモデルのManagerを呼んでデータ取得
    配列にはモデルから取得したデータをまとめた辞書を入れる
Template:forループで上の配列を回してhtmlにする

こんな感じで合ってますか?

不安な点:
・クエリを書く場所(View?Manager?)
・View内でコードを書く場所
   今はgetメソッドに直接書いていますが、getは弄らずにメソッドに書いてそれをテンプレートから
   呼んだ方が(view.hoge的な)いいのでしょうか?それとも別ファイルに関数を書くべきですか?
・現在はデータをループしやすいような配列にしてから渡してますが、Template内である程度HTMLにした方がいいのか?
  ※formは軽くタグとか付けられますよね
ネットでサンプルを探してはみたのですが、今一これが正解!的なコードが見つからなくて・・・
あと設計の参考になりそうな良いサイトってありますでしょうか?
0292nobodyさん2014/02/26(水) 22:50:32.75ID:???
>・現在はデータをループしやすいような配列にしてから渡してますが、Template内である程度HTMLにした方がいいのか?
Template内で → View内で
でした
0293nobodyさん2014/02/27(木) 01:08:04.43ID:???
単純なデータ取得、たとえば pkを指定してレコード取得や一覧取得はView
ビジネスロジックと言われるような中枢を成す処理はmodelまたはlogics.pyとか別ファイルにする
Djangoのポリシーではテンプレート内でデータは加工しない
テンプレートはデザイナーが触るものでプログラマーが触るものではない
よってデータの加工はviewでやる
getメソッド?なにそれ
0294nobodyさん2014/02/27(木) 05:14:32.62ID:???
>>291
俺ならインタフェースだけ合わせて、template内で同じように見えるようにしてiteration。
0295nobodyさん2014/02/27(木) 06:00:14.57ID:???
<select><option value="foo">bar</option></select>
のような形を作るにはどのようにすればいいのでしょうか?
class yes(forms.Form):
bar = forms.ChoiceField(
widget = forms.Select()
)
で、セレクトバーは出たんですが、その後の<option>の指定方法がわかりません
自分はHTMLで{{form.bar}}のようにしています
0296nobodyさん2014/02/27(木) 06:01:32.60ID:???
すみません、barじゃなくfooでした
0297nobodyさん2014/02/27(木) 10:04:22.81ID:???
>>296
choices
0298nobodyさん2014/02/27(木) 17:19:30.62ID:???
フォームでPOST値を送信する場合って、
PHPの場合は、送った先が$_POST['foo']とかを処理するけど、
Djangoの場合は、処理するページ(<form>のあるページ)がPOST値を処理してから次のページへリダイレクトって仕組みだよね?
送った先(次のページ)がPOST値を取得したり表示する場合はセッションを使わないといけないんだよね?
0299nobodyさん2014/02/27(木) 20:08:10.07ID:???
>>298
そんなことない。作り方次第。
ただ自然に作ると、
0300nobodyさん2014/02/27(木) 20:09:28.52ID:???
>>299 続き
そうなる。
0301nobodyさん2014/03/01(土) 00:04:24.54ID:???
>>292
getはクラスベース汎用ビューにあるgetのオーバーライドです
ネットの参考サイトがそのような書き方をしていましたので
requestからURLパラメータ欲しいから・・・と思いましたがView.requestでどこからでも取得出来るんですね
となるとコンテキストに追加するのはget_context_dataがいいのかな
あとテーブル操作はカスタムManager、レコード操作はModelと意識してます
>>294
フォームで言う、form.messageみたいなのを作るって事でしょうか?

ネットでもいろんなやり方があって、もう設計に拘らず適当でもいい気がしてきました・・・w
しかし関数ベースとクラスベースの情報があってぐぐり難いですね
0302nobodyさん2014/03/01(土) 02:11:13.60ID:???
>>301
>>294だが違う。
モデルで吸収するってこと。
0303nobodyさん2014/03/02(日) 09:36:50.36ID:???
>>1
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/85
0304nobodyさん2014/04/08(火) 07:57:45.66ID:Gp3QMMMl
request.session['hoge'] = 0
sqlite使用で上のコードを書いただけで 200msくらいブラウザの反応が遅くなるから、
なんとなくmysqlに変えてみたらなぜか早くなりました(300ms→100ms)
※他にも簡単なSQLありますが、上のコードが無い場合は両者反応速度一緒ぐらいです
しかしdebug_toolbarで見るSQLの実行時間は常に変わらず0or1ms

あとtime.clockでもコードの実行時間見てるけど、なんか変です
上のコードがあるメソッドを、clockで囲ってコード有無・DB変更して計測しても、常に30ms未満
なぜでしょうか・・・orz

django1.6.2 python2.7 windows7
0305nobodyさん2014/04/08(火) 19:30:15.43ID:???
計測何回やったんだ
sqliteはファイルだからIOがとかなんとか
mysqlもファイルですよ
0306nobodyさん2014/04/08(火) 23:51:56.94ID:???
>>305
ついでにtimeitとやらで計測してみました
t = timeit.Timer("""s = SessionStore('key')
s.save()""", 'from django.contrib.sessions.backends.db import SessionStore')
logging.debug(t.timeit(10))

[ sqlite3.8.3.1 ] 約2800ms VACUUMすると遅くなって3800ms・・・
QUERY = u'SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date"
FROM "django_session" WHERE ("django_session"."session_key" = %s AND "django_session"."expire_date" > %s )' -
 PARAMS = (u"'z9q43506rahjmcheld9e0m9p4motsbwa'", u"'2014-04-08 13:53:36.183000'")
QUERY = u'BEGIN' - PARAMS = ()
QUERY = u'UPDATE "django_session" SET "session_data" = %s, "expire_date" = %s
  WHERE "django_session"."session_key" = %s ' - PARAMS =  (u"'NDFkMjdiMjI5NWUzYjliZWIzNGQwMGI1YzA1ZDcwMWQ5MjNmZWVlNDp7fQ=='",
  u"'2014-04-22 13:53:36.190000'", u"'z9q43506rahjmcheld9e0m9p4motsbwa'")
UPDATEはdebug_toolbar上では1or2ms。トランザクションの関係で計測上手く出来ないのかも?
UPDATEをSQLiteManagerから直接実行しても300msかかってました

[ mysql5.6.17 ] 約140ms
SELECT ??? FROM `django_session` WHERE (`django_session`.`session_key` = 'z9q43506rahjmcheld9e0m9p4motsbwa'
 AND `django_session`.`expire_date` > '2014-04-08 13:59:03' )
UPDATE `django_session` SET `session_data` = 'NDFkMjdiMjI5NWUzYjliZWIzNGQwMGI1YzA1ZDcwMWQ5MjNmZWVlNDp7fQ==',
 `expire_date` = '2014-04-22 13:59:03' WHERE `django_session`.`session_key` = 'z9q43506rahjmcheld9e0m9p4motsbwa'

しかしsqliteのアダプタって無駄が多いんですね
さすがに差が開きすぎな気もするので、単に私の環境のsqliteがおかしいのかも・・・
03073062014/04/09(水) 06:33:27.18ID:???
すみません、どうやら単純にデータがSSDにあるかどうかの問題でした…
sqliteファイルをSSDへ移したところ、2800ms→230msまで縮まりました
しかしHDDとSSDでここまで違うとは…
0308nobodyさん2014/05/22(木) 16:31:45.79ID:???
馬鹿には無理
0309nobodyさん2014/05/24(土) 02:57:47.14ID:???
nginxで使う場合uwsgiとgunicornでは、どちらがオススメでしょうか?
0310nobodyさん2014/05/24(土) 03:17:53.06ID:???
そんな質問してるようじゃおまえにはまだはやい
0311nobodyさん2014/05/24(土) 12:31:13.12ID:???
uWSGIの方が色々出来て便利だけどドキュメント読めないと詰むかもわからん。
Emperor + Zerg で Graceful reload とか。
0312nobodyさん2014/05/24(土) 13:50:56.96ID:???
バカげた質問である
0313nobodyさん2014/05/24(土) 14:09:01.28ID:???
Djangoに入ってるsimplejsonってUNICODEを期待してるの?
0314nobodyさん2014/05/26(月) 00:49:39.85ID:???
>>313
は?
■ このスレッドは過去ログ倉庫に格納されています