【Python】Webフレームワーク Djangoスレ Part2
■ このスレッドは過去ログ倉庫に格納されています
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 nginxで使う場合uwsgiとgunicornでは、どちらがオススメでしょうか? uWSGIの方が色々出来て便利だけどドキュメント読めないと詰むかもわからん。
Emperor + Zerg で Graceful reload とか。 Djangoに入ってるsimplejsonってUNICODEを期待してるの? どなたかいらっしゃたらちょっと助けて下さい。
DjangoのViewのとある関数で、別の関数の中で使った変数を使うことはできますか?
下の例なら、関数Aの中で関数BのgetHAMという変数を使いたいです。 (例)
def A(request):
fee = int(getHAM) + 1
return fee
def B(request):
getHAM = str(1+1) そんな設計絶対に許さないけど、どうしてもというならセッション使おう やっぱり許せん
ステートレスって言葉を勉強してこい 315です。
request.session['getHAM']みたいな感じで解決できたようです。
どうもありがとうございました。
ステートレスの意味が調べました。
ですが私はOAuth1を使ったTwitterアプリを作ろうとしていて、
views.pyのTwitterへリダイレクトする関数とTwitterからのcallbackを受ける関数はどうしても違うものになるかと思います。
プログラミング自体が初心者でして、不快にさせていたら申し訳ないです。 >>319
ごめん調子に乗っただけ
oauth か。oauth みたいにステート保持する必要あるならセッション使う プロジェクトとアプリケーションがいまいちわかりません
djangoではプロジェクトの下に異なるアプリケーションを作成する前提なんですか?
2ch掲示板のクローンを作りたいならmanage.py startapp bbs2chclone
rssリーダーを作りたいならmanage.py startapp rssreader
って1つのプロジェクトの中に作っていくスタイルがdjangoですか?
PHPのMVCから流れてきたのでこのへんがよくわかりません startappでviews.pyも一緒に作られないのは何故ですか? 1.6と1.7では作られませんよ
バージョンいくつの話ですか? >>321
二つ目のアプリを別プロジェクトで作ってもいいけど、運用で一緒に動かせるように。
標準で入っているアプリも使っているだろ。
アプリ単体で作ってもいいけど、すぐ動かせるようにプロジェクトをジェネレートしているんだと思う。 配布目的ならやっぱりプロジェクトはわけたほうがいいですよね 旧態依然とした社内で布教したく、業務システムのプロトタイプを作ってみました。
そこに入れるデータがExcelにしかないのですが、これをインポートするのにxlrdライブラリでExcelを読みつつ、django用に書いたmodelクラスのインスタンスを生成してはsave()を走らせるコードをちまちまと走らせています。
これでも要件は満たすのですが、皆さんだったらどうしますか? Djangoでおすすめのプラグイン教えて
自分はdjango-debug-toolbarとpaginationくらいしか使ってないけど >>328
paginationとかライブラリとしてしか使ってなかったわ。 フォームでアルファベットのみとかしたい場合どうすればいい?
cleared_data[].isalpha()とかしたら、アルファベット以外でもすり抜けてしまうんだけど クライアントサイドとサーバサイドでバリデーションかけろよ >>331
は?
サーバサイドでは上記のように試したんだけど出来なかった
内部で変換されて出力時にまた変換されてるのかな、と
どういう風にチェックしたらいい?
DjangoはガチガチのFWだから、PHPみたいにprintやvar_dumpしても出てこないから分かりにくい
>>332
ごめん、cleared_dataじゃなく、cleaned_dataの書き間違いだった
どうやって見るん?
pdbとか?
自分はdjango-pdb見たが分からんかった 【IT】「bash」シェルに重大な脆弱性、開発元がパッチ公開 [14/09/25]
http://daily.2ch.net/test/read.cgi/newsplus/1411612522/
多くのUNIXおよびLinuxのユーザーに利用されている「Bourne Again SHell(Bash)」に重大な
セキュリティホールが発見された。このセキュリティホールはBashによる環境変数の評価方法に起因している。
ハッカーは特別に作成した変数を用いてセキュリティホールを突き、シェルコマンドを実行できる。これにより
サーバはさらなる本格的な攻撃に対して脆弱な状態となる。
(略)
このセキュリティホールを抜本的に解決するには、脆弱性のあるBashを新しい安全なバージョンに置換する
必要がある。米国時間9月24日朝の時点で、Bashの開発元からすべての現行バージョンをアップデートする
パッチがリリースされている。また、DebianとRed Hatはパッケージ化されたパッチを公開している。
ディストリビューターからのパッチを待たず、アプリケーションに対する危険な入力を排除したり、シェルを
呼び出す古いCGIスクリプトを無効化して新しいスクリプトに置換したり、Bash自体を別のシェルに
置換するなどの回避策を実施することも重要だ。 >>333
シェルで見る。
ブラウザでしか操作できないならログ。
それもわからないならraiseしちゃうとか。 models使ったスクリプトで、データベースに問い合わせて得た結果セットをJSON化したいんですが、
...is not JSON seralizableとなります
どう処理すればいいですか?
ちなみに、
>>>foo = bar.objects.all()
>>>print type(foo)
<class 'django.db.models.query.ValuesQuerySet'>
>>>print json.dumps(foo)
で上記のエラーが出ます >>>a = ['ringo','リンゴ']
>>>print a
[{'ringo':'\xe3\x82'}]とか\u73feとかで表示されますが、これを日本語でちゃんと、'りんご'と表示させるにはどうすればいいですか?
また、階層が深いと[<ringo: ringo object>]のようになったりもしますがこれの対処法も教えてもらえないでしょうか? >>338
870 デフォルトの名無しさん sage 2014/10/02(木) 11:43:57.63 ID:9jKc/G7B
CUI環境で
>>>a = ['ringo','リンゴ']
>>>print a
[{'ringo':'\xe3\x82'}]とか\u73feとかで表示されますが、これを日本語でちゃんと、'りんご'と表示させるにはどうすればいいですか?
また、階層が深いと[<ringo: ringo object>]のようになったりもしますがこれの対処法も教えてもらえないでしょうか?
PHPのvar_dump()みたいにオブジェクト内でもデータを確認したいのですが django関係なくね?
まずは python2 か python3 かはっきりしろ
ringo クラスに __repr__ メソッドを追加しろ >>340
関係ないと言いつつ的確に答えてて濡れた Djangoってさ、フォームのセキュリティに関して自分たちは何も対策することない?
基本的にO/Rマッパー使ったり、Formsクラスや{{ csrf_token }}使ってる限り
セッションハイジャックに関しては分かんないけど 悪いんだけど、そのテスト結果ってどこに書かれてる? django のテストコード見てみろ
結果は実行してみろよ DjangoとcakePHPってどっちが良い?
サーバ公開ならApatcheと簡単に連携できてメンテも簡単なcakePHPかなと思うけど Djangoってさ、views.pyもだけど、特にforms.pyがとんでもなく長くなってしまうと思うけどどう対処してる?
フォーム登録のあるページを5ページでも作ろうものならその度にclass作って一気に長くなって管理が面倒くさいんだけど views.py が大きくなる時は、
views/__init__py
views/foo.py
views/bar.py
みたいにファイル分割して __init__.py からインポートするようにしてるよ。 __init__ で * 展開する奴らを見ると殺したくなる >>351
modelForm使ってるので書くことほとんどない。
あと、対応するmodelのファイルに一緒に入れてる。
models.pyは使ってない。1model1ファイル。
modelが中心だと考えている。 forms.IntegerFieldにmax_length入れたら怒られたんだけど、自分はセキュリティ観点上フォームには必ず文字数制限を入れたい
しかも今回の場合は郵便番号の前半と後半部分なので3文字とかしか必要ないんだけど
もちろんクライアントサイド側でバリデートはさせるけど
どうしたらいいですか? >>> f = ComboField(fields=[CharField(max_length=3),IntegerField()])
>>> f.clean(123)
123
>>> f.clean(1234)
Traceback (most recent call last):
django.core.exceptions.ValidationError
>>> f.clean("aaa")
Traceback (most recent call last):
django.core.exceptions.ValidationError
>>> f.clean("567")
567
>>> f.clean("5678")
Traceback (most recent call last):
django.core.exceptions.ValidationError うわ、そんなやり方しないといけないの?
widgetとかCharFieldの方に入れるのかな?
何か複雑そうだなぁ
教えてくれてありがと >>357
django.core.validators.MaxValueValidator を使えばもう少し簡潔に書けるかも。
少なくとも、フィールドの型を本来のものと変える必要はなくなる。
使い方 等々、上のパッケージとクラスでググるとドキュメントが出てくるよ。 views.pyを複数ファイルに分割すると
各viewで同じようなimport文を書くことになると思うんですけど
これスマートにできませんか? そういうもの割り切るしかないですか? よくある、ユーザー登録する際にメールアドレスを登録してもらって、
そのメールに1回メールを送ってから、記載されたURLを開いて
存在確認が出来たらユーザー登録を許可するってのをやりたいんだけど、
contrib.authでコツコツ実装する感じですかね?
なんか、よくあるパターンなので、いいモジュールがあればと思ったんですが。 Flaskならこの本でそのものズバリの内容を
ステップbyステップで解説してるんだがなぁ
つか今安いな! この本すごく分かり易いから、
djangoな人にも参考になると思うよ
http://www.amazon.co.jp/gp/aw/d/B00K00W9LI 和書なら関係者の疑いもわかるが、洋書で
ステマ言われるとは思わんかったわw Django Version : 1.6.2
price = models.PositiveIntegerField(max_length=10, blank=True)
としてsyncdbした後MySQLAdminで確認すると、属性:UNSIGNEDとNULL:いいえとなってる
何でだろ?
自分は空白を許して、正の整数だけで登録したつもりなんだけど
どう変えればいいですか? >>370
あ、空白か。空白はcharだから、charを継承したFieldを作らないとじゃないか。 質問させてください
Django+MySQLでトランザクションを実装しようと考えています
最初1.4の日本語訳を読んでいて'django.middleware.transaction.TransactionMiddleware'をsettings.pyに追加したところエラーが出ました
そこで調べているうちにバージョン1.6からトランザクション周りが変わったとのことを知りました
https://docs.djangoproject.com/en/1.6/topics/db/transactions/
英語での解説を読むのですが、'django.middleware.transaction.TransactionMiddleware'についての記述が見当たりません
これはもはやsettings.pyに書く必要はなくなったのでしょうか? Formって、Class内に一つでも使わないもの入れたらis_valid()通らないのな
ハマった
例えば
a = forms.CharField()
b = forms.CharField()
でHTML内でaのフォームだけ使った場合とか
クソ仕様だな >>374
require=Falseにしとけよ。 ManyToManyにしないといけないところをForeignKeyにしてたわ
やりなおしかったるいからsqliteファイル直接いじって頑張ってみよう。。 gae上でdjangoを学ぼうと、eclipseにPyDev
入れてみました。
しかし、gaeに展開できるdjango1.5のプロジェクト
をうまく作れません。
ググってみたのですが、djangoのバージョンが
古いものばかりです。
どこかお薦めサイトがないでしょうか? 今どきEclipseとかJavaでも使わんのではないか
PyCharmにしとけ メモ
「Kivy」ではじめるPythonプログラミング―グラフィックライブラリでアニメーションを表現! 2013/11
http://www.amazon.co.jp/dp/4777517969 ビッ○カメラ札幌店の副店長の佐藤伸弦が暴行事件が起きていた
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 1.8がリリースされたのに未だに和訳が1.4止まり
LTSだからとっとと1.8のも用意して欲しい
翻訳活動してないのにdjangoの翻訳に関わってるとか名乗らないでほしい FreeBSDのPython3.4にpipが(どころか、site-packageには何も)入ってないんですが、
その辺の事情をご存知の方、情報ください 何でまたWebprog板で聞いたのか・・・・
どうやってインストールしたのか知らないがpipは搭載されているから
標準パッケージにはまだ3.4がないからソースコードからインストールしたのかどうか知らないが
インストールに失敗したのではないかと ごめんなさい。板違いでしたね。
Djangoがインストールできなかったので、つい。。。
ついでだから説明しますと、portからもpkgからもインストールしてみましたが、
どっちもsite-packageは空でした。
何かpipに(例えばセキュリティー上の)問題でも発生したのかではと思って
尋ねてみました。 へぇ、Djangoのスレあったのか。
今月の頭ぐらいPythonとDjangoを使ってるんだけど、
だいたい分かった。何か質問があったら答えるよ。 laravelのドキュメント翻訳って一人でやってるしDjangoの翻訳がまったく進まないのはリーダーが悪い そもそもあのアンケートも「翻訳不要」に誘導尋問してるような感じだしね
これでDjango翻訳に貢献してますっていうのはちょっとおかしいよねって話 せやな。何も貢献してない人よりも
貢献しているってだけだな。 djangoは他の国のもあまり翻訳進んでなさそうだな manage.py runfcgi socket=hogehoge daemonize=falseでFastCGIを起動すると、kill -SIGTERMで死んでくれない。
defunctだからってことはないと思うけど、チュートリアルとか見ても殺すのにkill $(cat pidfile)だけなんだよなぁ。 ■ このスレッドは過去ログ倉庫に格納されています