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
【Python】Webフレームワーク Djangoスレ Part2
■ このスレッドは過去ログ倉庫に格納されています
2011/12/15(木) 23:47:02.03ID:???
22nobodyさん
2012/01/21(土) 04:47:17.81ID:??? Pylonsってのもあるのか。
23nobodyさん
2012/01/21(土) 07:22:45.45ID:??? pylonsはオワコン
pyramid
pyramid
26nobodyさん
2012/02/07(火) 23:14:28.71ID:??? django-cmsって使ってる人いる?
27nobodyさん
2012/02/09(木) 22:59:21.30ID:lRLr0cSK サーブレットのように、あるリクエストで生成したインスタンスを
レスポンスが完了した後も残しておくことって出来ないですか?
出来ない場合、同じようなことをやろうと思ったらキャッシュ機能を
使うしかないですかね?
キャッシュだとシリアライズのコストの分が余計にかかるので
できればサーブレットのようにプロセスが常駐してインスタンスを
そのままメモリ上に持たせておきたいと思ったのですが・・・
レスポンスが完了した後も残しておくことって出来ないですか?
出来ない場合、同じようなことをやろうと思ったらキャッシュ機能を
使うしかないですかね?
キャッシュだとシリアライズのコストの分が余計にかかるので
できればサーブレットのようにプロセスが常駐してインスタンスを
そのままメモリ上に持たせておきたいと思ったのですが・・・
28nobodyさん
2012/02/09(木) 23:21:54.04ID:/iRWC1gw タコですが質問です。
djangoって静的ファイルはhttpdでやれよって思想だと思うんですが、
セッション管理によるアクセス制限
(例えばdjangoでログイン中のみapacheから静的ファイルにアクセスできるようにする)
っていう仕組みはどのように実装したらいいんでしょうか?
djangoって静的ファイルはhttpdでやれよって思想だと思うんですが、
セッション管理によるアクセス制限
(例えばdjangoでログイン中のみapacheから静的ファイルにアクセスできるようにする)
っていう仕組みはどのように実装したらいいんでしょうか?
29nobodyさん
2012/02/09(木) 23:24:12.52ID:/iRWC1gw >>27
私はタコですがセッションのどこかに放り込んでおけばいいのでは?
http://docs.nullpobug.com/django-doc-ja/trunk/topics/http/sessions.html#topics-http-sessions
私はタコですがセッションのどこかに放り込んでおけばいいのでは?
http://docs.nullpobug.com/django-doc-ja/trunk/topics/http/sessions.html#topics-http-sessions
31nobodyさん
2012/02/17(金) 18:11:15.99ID:??? この本読んだひといますか?
感想聞かせてください
WSGIウェブプログラミング
ttp://www.amazon.co.jp/dp/4877832882/
書評悪すぎてわろす
感想聞かせてください
WSGIウェブプログラミング
ttp://www.amazon.co.jp/dp/4877832882/
書評悪すぎてわろす
32nobodyさん
2012/02/19(日) 09:53:00.31ID:??? URLディスパッチャがめんどくさすぎる
33nobodyさん
2012/02/20(月) 09:54:33.74ID:??? >>28
djangoの「思想」は無視すればいいと主受け尾d。
URLに対応するファイルを読み込んでユーザチェックで分岐して
renderする処理を加えればいいだけじゃないの。
簡単にできるでしょう。
djangoの「思想」は無視すればいいと主受け尾d。
URLに対応するファイルを読み込んでユーザチェックで分岐して
renderする処理を加えればいいだけじゃないの。
簡単にできるでしょう。
34nobodyさん
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
っていう仕組みもある。
なお、djangoのstatic拒否っていう「思想」は別に珍しくなくて、
ホントにstacicならサーバにまかせます、っていうだけでしょ。
日本語の1.0 documentation読んでるとなんかすげー厳しいなあと思うかも知れないけど
1.3documentationの
https://docs.djangoproject.com/en/dev/howto/static-files/
を読めば1.0にはなかった
django.contrib.staticfiles
っていう仕組みもある。
35nobodyさん
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番を入れておきたいのですが…
伝わりにくい質問でごめんなさい。
-- 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番を入れておきたいのですが…
伝わりにくい質問でごめんなさい。
36nobodyさん
2012/03/06(火) 19:21:31.04ID:??? defaultとかあったと思うが,Metaでやるとできないか
JavaScriptでやるか,12をテンプレートでレンダ
JavaScriptでやるか,12をテンプレートでレンダ
37nobodyさん
2012/03/06(火) 22:42:25.29ID:??? >>36さん
レスありがとうございます。
<input type="hidden" name="shop" value="{{ shop_id }}>
みたいなテンプレートでやってみたんですが、Validateでエラーになってしまったもので...
Djangoマニュアルの英語版も読んだんですが、こういうところが書かれてないんですよねぇ。
どこかノウハウが集まってるサイトとかないんでしょうか。
みなさんはDjangoの情報収集はどこでされてますか?
GoogleのDjangoグループは全然更新されてないんで、困ってます...
レスありがとうございます。
<input type="hidden" name="shop" value="{{ shop_id }}>
みたいなテンプレートでやってみたんですが、Validateでエラーになってしまったもので...
Djangoマニュアルの英語版も読んだんですが、こういうところが書かれてないんですよねぇ。
どこかノウハウが集まってるサイトとかないんでしょうか。
みなさんはDjangoの情報収集はどこでされてますか?
GoogleのDjangoグループは全然更新されてないんで、困ってます...
38nobodyさん
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を呼ぶ形で
この例だと
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を呼ぶ形で
39nobodyさん
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"]をイジれば動的にフィールドを操作できます
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"]をイジれば動的にフィールドを操作できます
40nobodyさん
2012/03/12(月) 10:05:17.14ID:C6qcHZnA Django1.2を使ってます
テンプレートの使い方で質問していいでしょうか?
ちょっと困ってます
dataA.dataB[0].dataC を取り出す方法です。
[0]という表記がシンタックスエラーを出すので調べたらスライスフィルタを使えと
dataA.dataB|slice:"0:1" これだとdataBは取り出せますがここから詰まってます
どうか解決法をご存知の方ヒントをお願いします。
方法がなければデータそのものを加工して対処します。
テンプレートの使い方で質問していいでしょうか?
ちょっと困ってます
dataA.dataB[0].dataC を取り出す方法です。
[0]という表記がシンタックスエラーを出すので調べたらスライスフィルタを使えと
dataA.dataB|slice:"0:1" これだとdataBは取り出せますがここから詰まってます
どうか解決法をご存知の方ヒントをお願いします。
方法がなければデータそのものを加工して対処します。
41nobodyさん
2012/03/12(月) 15:15:04.03ID:???42nobodyさん
2012/03/12(月) 15:23:09.23ID:C6qcHZnA うわーー 最初からこれ使えばよかったーーー
43nobodyさん
2012/03/12(月) 23:05:19.96ID:7b+JBvuO テーブル生成についての質問なのですが
djangoでテーブルを動的に生成することってできますか?
ユーザ情報(これはカラム固定)がDBに入っていて
そこからある計算を行ってデータを作るのですが
それがカラム数が動的に変わってしまうのです
要するに動的に create を発行すればいいのですが
djangoの場合だとモデルクラスが対応してないとダメですよね…
というよりモデルクラスが先にあって、そこからテーブルを
作成するのが基本ですよね…
なにかうまい方法はないでしょうか…?
(すみませんが設計で回避というのは無しでお願いします)
djangoでテーブルを動的に生成することってできますか?
ユーザ情報(これはカラム固定)がDBに入っていて
そこからある計算を行ってデータを作るのですが
それがカラム数が動的に変わってしまうのです
要するに動的に create を発行すればいいのですが
djangoの場合だとモデルクラスが対応してないとダメですよね…
というよりモデルクラスが先にあって、そこからテーブルを
作成するのが基本ですよね…
なにかうまい方法はないでしょうか…?
(すみませんが設計で回避というのは無しでお願いします)
44nobodyさん
2012/03/13(火) 03:34:44.28ID:??? 発想を変えて動的にモデルをつくるようにしてみては?
モデルのプロパティはJSONとかにシリアライズしてblobで保存とか
MongoDBとかでも動的に変更できるけど茨の道
モデルのプロパティはJSONとかにシリアライズしてblobで保存とか
MongoDBとかでも動的に変更できるけど茨の道
45nobodyさん
2012/03/21(水) 00:32:52.23ID:??? いよいよDjango1.4正式版でるね
46nobodyさん
2012/03/21(水) 03:08:20.87ID:??? なにが変わるの?
47nobodyさん
2012/03/21(水) 15:05:16.44ID:??? 結構機能追加されてんね
1.3のデータベース周りの大幅アップデートに比べると霞むけど
テンプレートタグのelifは有難すぎ
1.3のデータベース周りの大幅アップデートに比べると霞むけど
テンプレートタグのelifは有難すぎ
48nobodyさん
2012/03/23(金) 17:41:38.22ID:??? djangoが楽すぎて他のフレームワークいじる気力なくなる
49nobodyさん
2012/03/27(火) 17:54:08.18ID:??? django使ってるのって、日本で10人ぐらい?
50nobodyさん
2012/03/28(水) 07:08:10.63ID:??? すごい優れたフレームワークだと思うので実践投入しようとしてるんだけど。
和書は1.0前のしかないし、Django Book 2.0すら和訳途中で頓挫してるし…
Googleグループも過疎ってるし。日本語で情報共有できないのが辛い。
英語だけどKindleの電子書籍はいっぱい売ってるし、海外フォーラムでは話題が多いんだよね。
逆に、今なら日本語Django界で名を挙げるチャンスなの?w
githubとかでもいいからDjango使っているプロジェクトとかソースコード読んで参考にしたい。
誰か情報共有してくれー!
和書は1.0前のしかないし、Django Book 2.0すら和訳途中で頓挫してるし…
Googleグループも過疎ってるし。日本語で情報共有できないのが辛い。
英語だけどKindleの電子書籍はいっぱい売ってるし、海外フォーラムでは話題が多いんだよね。
逆に、今なら日本語Django界で名を挙げるチャンスなの?w
githubとかでもいいからDjango使っているプロジェクトとかソースコード読んで参考にしたい。
誰か情報共有してくれー!
51nobodyさん
2012/03/28(水) 10:08:47.56ID:??? そもそもPython使ってる人が日本に20人ぐらいしかいないから。
52nobodyさん
2012/03/28(水) 11:50:18.09ID:??? 俺もいるから21人だな
53nobodyさん
2012/03/28(水) 13:38:31.77ID:??? いや、お前入れて20人だから
54nobodyさん
2012/03/28(水) 13:39:31.42ID:??? こういう地域による過疎フレームワークってどうやって情報共有すればいいんだろうね
55nobodyさん
2012/03/28(水) 13:54:02.73ID:??? 英語読めれば問題ない
56nobodyさん
2012/03/29(木) 12:41:43.24ID:??? 電気無ければただの箱的な?
5750
2012/03/29(木) 16:31:42.56ID:??? Django使うような奴らは国内なんかが住処じゃねーって!?
日本じゃ王道はRubyでRails。
Pythonなんかインデント言語って馬鹿にされて、
日本じゃ誰も評価されないDjango使う馬鹿は相手が世界ってことか?
面白いじゃないの!実践投入させてもらうぜ!
日本じゃ王道はRubyでRails。
Pythonなんかインデント言語って馬鹿にされて、
日本じゃ誰も評価されないDjango使う馬鹿は相手が世界ってことか?
面白いじゃないの!実践投入させてもらうぜ!
58nobodyさん
2012/03/29(木) 17:30:04.77ID:??? 世界目指そうぜ
59nobodyさん
2012/03/29(木) 17:54:31.44ID:??? ケータイサイトとか作るんじゃなければいいかもね。
今さらケータイサイトとか作ってる場合じゃないけどな。
今さらケータイサイトとか作ってる場合じゃないけどな。
60nobodyさん
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
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
61nobodyさん
2012/04/01(日) 19:41:26.66ID:??? django用にクラス作りなおすしかないんじゃないかな
62nobodyさん
2012/04/01(日) 20:24:12.51ID:??? モデルの中にdataクラスいれるのが単純かなぁ。(コンポジション?)
モデルにdataクラスへの入出力追加するだけだし。
モデルにdataクラスへの入出力追加するだけだし。
63nobodyさん
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
こんなクラスだとしたら、これをプロパティにしたモデルクラスって
具体的にどうなるんでしょうか?
> モデルの中にdataクラスいれるのが単純かなぁ。(コンポジション?)
> モデルにdataクラスへの入出力追加するだけだし。
すみません、具体的なイメージが湧かないのですが
例えばinput_dataが
class input_data:
def __init__(self, name, value):
self.name = name # string
self.value = value # integer
こんなクラスだとしたら、これをプロパティにしたモデルクラスって
具体的にどうなるんでしょうか?
64nobodyさん
2012/04/02(月) 08:58:12.36ID:??? データベースへのアクセスはdjangoのORMを使うの?
それとも別に用意されてるの?
それとも別に用意されてるの?
65nobodyさん
2012/04/02(月) 23:50:34.00ID:VGFPGSaK >>64
ORマッパーが先に決まっているわけではないです
djangoのモデルクラスを利用して既にあるデータクラスを
そのまま使える方法があれば一番いいですし
それが無理そうなら別の方法を考える、という感じです。
昨日調べてたらSQLをそのまま発行することは出来るみたいなので、
資産の有効利用を優先するならそれもありかな、と少し考えています。
ORマッパーが先に決まっているわけではないです
djangoのモデルクラスを利用して既にあるデータクラスを
そのまま使える方法があれば一番いいですし
それが無理そうなら別の方法を考える、という感じです。
昨日調べてたらSQLをそのまま発行することは出来るみたいなので、
資産の有効利用を優先するならそれもありかな、と少し考えています。
66nobodyさん
2012/04/03(火) 00:06:10.55ID:??? カスタムマネージャでなんとかなるかも
マネージャをゴリゴリ書く必要あるけれども
ただちっと面倒くさいよね何やるにしても
マネージャをゴリゴリ書く必要あるけれども
ただちっと面倒くさいよね何やるにしても
67名無しさん
2012/04/03(火) 20:20:49.11ID:1QQjv7Jc 寛解に至らない
68nobodyさん
2012/04/05(木) 14:53:34.26ID:zbL83UyR 偉い人へ:
djangoforms の BooleanField で checkboxを出すとHTMLが、
「ラベル □」になちゃうんだけど、「□ ラベル」にするのってどうやるの?
djangoforms の BooleanField で checkboxを出すとHTMLが、
「ラベル □」になちゃうんだけど、「□ ラベル」にするのってどうやるの?
69nobodyさん
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
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
70nobodyさん
2012/04/05(木) 22:30:34.63ID:zbL83UyR71nobodyさん
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 が必要になるのであれば、内容も教えてください。
以下、上記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 が必要になるのであれば、内容も教えてください。
7271
2012/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
...
- 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
...
73nobodyさん
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していくと綺麗に分離できるよ
相対 {% 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していくと綺麗に分離できるよ
74nobodyさん
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
検証してないけどこんな感じだよ
さらに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
検証してないけどこんな感じだよ
75nobodyさん
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
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
77nobodyさん
2012/04/08(日) 23:48:05.79ID:Iqgx/7Sd なんか馬鹿みたいな質問なんですけど
djangoでwebアプリを作ったときに
定数とか設定ファイルみたいなものを用意して
webサーバー起動時にそれを一度だけ読み込んだら
アプリが終了するまではその値をいつでも参照できるように
しておくことってできないですか?
ちなみにwebサーバーはapacheを使ってます
(apacheとdjangoをmod wsgiで連携)
djangoでwebアプリを作ったときに
定数とか設定ファイルみたいなものを用意して
webサーバー起動時にそれを一度だけ読み込んだら
アプリが終了するまではその値をいつでも参照できるように
しておくことってできないですか?
ちなみにwebサーバーはapacheを使ってます
(apacheとdjangoをmod wsgiで連携)
78nobodyさん
2012/04/08(日) 23:54:59.79ID:??? そいうのはsettings.pyに書いとくといいです
settings.pyにHOGE="hoge"としておくと
from django.conf import settings
settings.HOGE
と言った感じで参照できます
settings.pyにHOGE="hoge"としておくと
from django.conf import settings
settings.HOGE
と言った感じで参照できます
79nobodyさん
2012/04/09(月) 01:35:18.14ID:8JTXJRql なるほど!
ありがとうございました!
ありがとうございました!
80nobodyさん
2012/04/10(火) 22:13:14.47ID:nA+GylzO gae/p の blobstoreで、アップロードのついでに POSTした日本語が文字化けする障害って
まだ直っていないようですね・・
何年か前に Google-App-Engine-Japanに障害報告が上がってるのに。
仕事遅いなぁ中の人。
この障害への回避策って、Base64エンコードぐらいでしょうか?
まだ直っていないようですね・・
何年か前に Google-App-Engine-Japanに障害報告が上がってるのに。
仕事遅いなぁ中の人。
この障害への回避策って、Base64エンコードぐらいでしょうか?
81nobodyさん
2012/04/11(水) 02:44:16.83ID:??? gaeでdjango使うのしんどくない?
82nobodyさん
2012/04/11(水) 10:56:01.11ID:WgNPCZsm >>81
何とか使ってます。
何とか使ってます。
83nobodyさん
2012/04/13(金) 13:19:14.34ID:0/eMv/lO84nobodyさん
2012/04/13(金) 13:23:02.97ID:??? phpディスられてる割りにユーザ増えんね…
85nobodyさん
2012/04/13(金) 23:04:56.60ID:??? 日本だとrubyに流れるんだろうね
2.x系は日本語の扱い面倒くさいし
2.x系は日本語の扱い面倒くさいし
86nobodyさん
2012/04/13(金) 23:40:44.62ID:??? ruby使ってる人=はてな民=常に上から目線みたいなイメージがあって、どうもrubyに触手が動かない
87nobodyさん
2012/04/14(土) 00:46:37.29ID:???89nobodyさん
2012/04/14(土) 02:51:40.51ID:??? 言語とフレームワークごちゃまぜなのがいただけない
90nobodyさん
2012/04/14(土) 02:57:17.67ID:??? >DjangoはタイガーI
重そうww
喩えが非常に良くないw
重そうww
喩えが非常に良くないw
91nobodyさん
2012/04/14(土) 03:02:12.44ID:??? >rubyに触手が動かない
ひどい偏見ながらbeginとかendとか見た時にMSのマクロ系連想しちゃって受け付けなかった
pythonってweb以外にも科学技術計算とか沢山あるしね
数の暴力でアホみたいにライブラリ充実させて、負けることは絶対無いと思う
googleさんもいるし…
ひどい偏見ながらbeginとかendとか見た時にMSのマクロ系連想しちゃって受け付けなかった
pythonってweb以外にも科学技術計算とか沢山あるしね
数の暴力でアホみたいにライブラリ充実させて、負けることは絶対無いと思う
googleさんもいるし…
92nobodyさん
2012/04/14(土) 23:30:25.46ID:??? begin end はPascal系だろ
93nobodyさん
2012/04/16(月) 15:34:39.61ID:??? 1.4文書にはリリースするならmod_wsgi使えって書いてあるね
ttps://docs.djangoproject.com/en/1.4/topics/install/
ttps://docs.djangoproject.com/en/1.4/topics/install/
94nobodyさん
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とかオプション出来てる
あとで調べてみよ
project
-manage.py
--project
---settings.py
---wsgi.py
みたいになっててちょっと焦った
manage.pyの処理もちょっと変わったみたいで過去のプロジェクトそのままじゃ動かんかった
あとrunserverもwsgi指定できんのかな
settings.WSGI_APPLICATIONとかオプション出来てる
あとで調べてみよ
95nobodyさん
2012/04/16(月) 23:17:56.03ID:??? mod_wsgiだとDjangoがなぜかApacheで走らなくて
mod_pythonで動かしてる俺にはヤバいニュースだな。
ドキュメント通りにインスコしても何も表示されないんだよなー。
mod_pythonで動かしてる俺にはヤバいニュースだな。
ドキュメント通りにインスコしても何も表示されないんだよなー。
96nobodyさん
2012/04/17(火) 00:08:34.20ID:??? nginx+uwsgiマジオススメ
97nobodyさん
2012/04/17(火) 02:08:18.68ID:???99nobodyさん
2012/04/18(水) 00:34:32.35ID:??? 1.4かなり変わってんだな
urlテンプレートタグとGeneric View直すの面倒かった
urlテンプレートタグとGeneric View直すの面倒かった
100nobodyさん
2012/04/18(水) 12:43:31.07ID:Wype6WQ2 uwsgi調べてたら、タイムアウト指定する引数がharakiriとか出てきてワロタ
101nobodyさん
2012/04/19(木) 02:40:41.54ID:??? これいいな
メモリリークが一目でわかる
ttps://github.com/munhitsu/django-dowser
メモリリークが一目でわかる
ttps://github.com/munhitsu/django-dowser
102nobodyさん
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)=>属性の照合=>メソッドの呼び出し=>リストをインデクス指定して照合
例えばUserオブジェクトに属性email、アクセサemail()があるとき
{{ user.email }} とは書けるけど {{ user.email() }} だとエラーになります。
TemplateSyntaxError: Could not parse the remainder: '()' from 'user.email()'
これはどうしてなんでしょうか。
ドキュメントにはテンプレートエンジンが.(dot)を見つけたとき以下の順で評価を試みるとあるけど
関係してるのかなんだかさっぱり・・・
辞書の照合 (lookup)=>属性の照合=>メソッドの呼び出し=>リストをインデクス指定して照合
103nobodyさん
2012/04/19(木) 21:00:09.93ID:1eA2rign 勘違いしてました。Userオブジェクトには属性emailは存在せず、メソッドのみでした。
ということは、テンプレートに書くときはメソッド呼び出しにカッコはつけないということなのかな。
ぐぐってたら"丸括弧を付ける必要はありません"と書いてるページがあって
曖昧ではありますが、ひとまずそのつもりで進めてみますですm(_ _)m
ということは、テンプレートに書くときはメソッド呼び出しにカッコはつけないということなのかな。
ぐぐってたら"丸括弧を付ける必要はありません"と書いてるページがあって
曖昧ではありますが、ひとまずそのつもりで進めてみますですm(_ _)m
104nobodyさん
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を呼び出すことはできないみたい。
何か良い方法ないでしょうか?
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を呼び出すことはできないみたい。
何か良い方法ないでしょうか?
107nobodyさん
2012/05/09(水) 15:53:29.80ID:??? Djangoを、Ruby on Railsと比較した場合
良い所と悪い所を教えてください。
良い所と悪い所を教えてください。
108nobodyさん
2012/05/10(木) 12:15:07.36ID:??? 比べられるもんでもないけど
強いて言えば何か問題あったとき日本語情報沢山あるのがror
コード読んで解決するのがdjango
pythonかrubyの違いは好みだしね
強いて言えば何か問題あったとき日本語情報沢山あるのがror
コード読んで解決するのがdjango
pythonかrubyの違いは好みだしね
109nobodyさん
2012/05/10(木) 22:45:34.96ID:??? テンプレートについて質問です。
{% for x in X %} ... {% endfor %}
の後に、もう1度
{% for x in X %} ... {% endfor %}
を記述したところ、前半は表示されるのに後半は何も表示されませんでした。1つのシーケンスは1回しか使えないのでしょうか?
{% for x in X %} ... {% endfor %}
の後に、もう1度
{% for x in X %} ... {% endfor %}
を記述したところ、前半は表示されるのに後半は何も表示されませんでした。1つのシーケンスは1回しか使えないのでしょうか?
110nobodyさん
2012/05/11(金) 08:34:20.27ID:??? 2回も同じループさせるとか無駄じゃね?
111nobodyさん
2012/05/11(金) 09:56:32.07ID:??? 1つのデータをテーブル表示 & グラフ表示 (のために JavaScript 埋め込み) したいのです。
112nobodyさん
2012/05/11(金) 10:17:46.83ID:???113nobodyさん
2012/05/11(金) 11:51:30.50ID:???114nobodyさん
2012/05/11(金) 12:45:49.39ID:??? せっかくテンプレートで役割分担してるんだから、まだXのコピーを用意する方がマシかも。
115109 / 111
2012/05/11(金) 19:43:21.59ID:??? 原因がわかりました。リストを渡したつもりがイテレータを渡していました。これは一度ループし終わると使えません。
116nobodyさん
2012/05/11(金) 21:08:24.13ID:??? バルス
117nobodyさん
2012/05/12(土) 23:49:26.94ID:Ss+1w/F4 職場の先輩がジュワンゴって発音するんですけど
どうしたらいいですか?
どうしたらいいですか?
118nobodyさん
2012/05/13(日) 00:03:13.19ID:??? ド素人が今からDjangoを始めるなら1.3と1.4のどちらがオススメですか?
119nobodyさん
2012/05/13(日) 00:27:12.18ID:??? わかりません><
120107
2012/05/13(日) 00:33:05.88ID:???■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おっぱい】「胸の大きな女性がいて、つい手が…」福岡の路上で20代女性の胸をいきなり揉んだ疑い 67歳警備員の男を現行犯逮捕 [nita★]
- 【農水省】「簗大臣お支えチーム」を内々新設 「勤務時間中に本来業務そっちのけでやるべきことか」と疑問の声も [ぐれ★]
- 【クマ】東京都内初の緊急銃猟、日本熊森協会が問題視「恐れていたことが…」「捕殺だけに頼らない共存のモデルを」 [少考さん★]
- 米、ICCに包括制裁 サービス提供企業も対象の可能性 [少考さん★]
- イオン系食品スーパー、100店閉店へ インフレの逆風「想定以上」★2 [煮卵★]
- 担任の女性教諭、女子中学生を自宅に招き入れわいせつ行為繰り返す 千葉県、懲戒免職処分 [少考さん★]
- 高市早苗「赤根さん最悪の事態を想定しておいた方がいいよ」 [931948549]
- 🇩🇪デラッシャル(1678-1701)🏡
- 【悲報】クーリッシュに血液が混入する事例、ガチで多発wwwwwwwwwwwwwwwwwwwwwwwwwwww [398059782]
- 【速報】トランプ、ICC本体への制裁を発表 ノーへ平和賞を元ICC裁判官が受賞したことへの逆恨みゕwwww [597533159]
- 日本人「レアアース探査船が海底から50トンの泥を回収に成功😤!中国に依存する必要なし!日本を舐めるなよ?😏」 [441660812]
- 人類史上『最も神に近付いた人物』ってだれなの [904880432]