【Python】Python Webフレームワーク総合スレ
■ このスレッドは過去ログ倉庫に格納されています
>>79
お前も人間的にゴミだな
色んなとこに貼り付けて何が楽しいんだ?
元の質問者をからかいたいのか? pyramidとかflask使ってる人にお聞きしたいんですけど
formライブラリは何使ってます?
colandar + deform? それともwtforms?
何かおすすめあれば教えていただきたいです wtforms 使ってる
colandar , deform っていうのは知らないなぁ xampp(perl phpオールインワンパッケージ)のpython版みたいのないかな?
xamppちょっといじればいいけどperlもphpもいらないし個別インスコもめんどくさいし >>85
ありがとうございますwtforms使ってみます
バリデーションエラーの日本語化ってどうしてますか? 組み込みのvalidatorにもmessage引数に日本語メッセージ渡せるよ
自作validatorなら
wtforms.validators.ValidationError(message=u'', *args, **kwargs)
この例外のmessage引数にメッセージをセットして raise する
質問の意味が i18n,i10n,m17n の話しなら使ってないのでよくわからない >>88
たとえば、DataRequiredなんかはよく使うバリデータだと思うのですが
日本語のバリデーションエラーを表示したいとき、各フィールドにそれぞれ
validators=[DataRequired('内容が入力されていません')]
のように書くものなんでしょうか? 継承してメッセージ書き換えたクラス使えばいいんじゃね やっぱ主流なんすか
DjangoはRailsに劣るのでフルスタックMVCでRailsに勝るものが欲しいのですが
最近なんかいいの出てきたりしました? >>90
なるほど! なぜ思いつかなかったのか…
ありがとうございます >>96
別に言語の優劣語りたいとかPythonを馬鹿にしてるわけじゃないのでムキにならないで下さい
ただRailsと比べてDjangoの性能が低いということを言っただけなので
フルスタックでなければRailsより勝るものなんて星の数ほどあるわけだし
言語的に遅いPHPでさえRailsに勝るフルスタックなPhalconとかもあるわけだし
じゃあPythonは?というわけです 劣るとか低いとか曖昧な主観で話す奴はだいたい頭が悪い 劣るだけなら性能か機能かわからんが
性能が低いと言われればメモリ使用量も速度もその通りだけどな >>97
え?PHPって遅いの?
生のPHPが1番速いと思ってたんですけど。
(PHP Python Ruby)
フルスタックが良いという意味がイマイチわからないんですけど、何が出来るんですか?
速いと言われてるフレームワークに自作で機能を付け足していけばいいんじゃないかという考えは間違いですか? >>103
うん。お前の能力でまともに使えるものは無い >>105
横から申し訳ないのですが、このテストってRubyは2.0とかじゃないんですよね?
Python3やRuby2.0で比較してる記事を知ってたら教えていただけないでしょうか?
py3でbottleを使ってるのですがsinatraの方が速かったら悔しいなぁと…。 Python Ruby 製のwebフレームワークの応答速度なんて
どれも似たり寄ったりで大差ないよ
速い応答速度が欲しけりゃ言語を変えたほうがいい
それに単純なベンチと違って実際のWebアプリは
実処理部分がより複雑でそこに処理時間とリソースを食われる
いくら単純処理の応答が速かろうがあんまり意味はない
翻って単純で軽いWebAPIを提供するようなサーバ
ではベンチの速いものが役に立つ djangoのormだけbottleで使うことってできますか? できる
けどどうせ使うならSQLAlchemyの方が断然高性能だよ
django-ormはdjangoで使うから良い(admin的に)のであって
純粋にORMとしてはいまいち
結局やりたい事ができず
生SQL書かざるを得ない事がまれによくある SQLAlchemy 程の機能はいらないなら peewee がおすすめ
bottleでdjango-ormより遥かによい sqlalchemyはいろいろめんどくさいので
簡単なdjangoのormが使えたらなと思いました
peeweeは多対多のリレーションのinsert, update, deleteがくっそめんどくさかった記憶があります pyramid使ってる人はorm何使ってます?
やっぱりsqlalchemyが多いんでしょうか ormより生SQLがぜんぜんいい
なんたって生だからね
生でinsertとかも出来ちゃうんだ
ormなんてラップに包んだものは気持ちよくない
生だと気持ちよすぎて早いっていう利点もある pythonでormならsqlalchemy一択じゃないの
peeweeは商用DBサポートしてないしググっても情報少ない
その点英語にはなるがsqlalchemyの情報の豊富さはとても助かる sqlalchemy使うのがよさそうですね
ちゃんと勉強してみます テンプレートエンジンは chameleon, jinja2, mako の3つならどれが一番メジャーなんでしょう?
他におすすめのテンプレートエンジンはありますか? >>120
ありがとうございます。jinja2を使うことにします uwsgiをエンペラーモード?で動かしているのですが、stopやrestartに物凄く時間がかかります。debian(sysvint)からubuntu(upstart)に移行すれば多少は速くなりますか? ubuntu は debian ベースだけど、速くなると思ったのはなぜ? >>124
upstartは起動が速いというような記事を読んだので。 もっとも利用者が多いdjangoを使わず他のフレームワーク使うメリットを教えてください 古参フレームワークに足りないのを足していったのが後出のフレームワーク
仕様や性能は後出のフレームワークのほうが大抵いい(そうじゃないと作る意味がない)
古参フレームワークは後方互換のしがらみでなかなか仕様を変更しにくい
古参であることの強みはドキュメントの充実と利用者の多さによる情報量
あなたはどちらをとりますか?という話 ただ後出のメンテナがアレなのでdjangoが多いってだけ
issueでさぼんな!変われ!と書かれる始末 後出は実験的に作ってみて作者が満足したから後は頼んだみたいなのとか、
作ったはいいが思ったより流行らなくて開発中止とかそういう危険性がある。
prototype.jsを完全に亡き者にしたjQueryのような存在はPython界には今のところない。 現状Pythonでwebつくるならdjangoが一番無難だと思う
マイクロフレームワークといろんなライブラリを組み合わせてやるのも悪くはないが
組み合わせるそれぞれのライブラリを覚える必要があり
ライブラリによっては満足にメンテされてないのもあるしでdjangoより面倒になりがち
(Flaskとか糞ライブラリが多いし・・・)
それに最近のdjangoはなかなか良くなってきてるよ
以前に比べて随分と痒い所に手が届きやすくなった pyramidを使うメリットはあるんでしょうか
フルスタックでないフレームワークならflask1択では Flask本体は特に悪くないけどパフォーマンスも良くない
デバッグとかは使いやすいけど
それよりなによりAddon類に罠が多すぎる
フルスタックが不要ならbottleの方がシンプルで良い >>124
bottleでサイトを作る時ってMVCにしない方がいいのでしょうか?
なんかディレクトリで分けると作りにくくて…。 >>137
一番の罠はwerkzeukなんだけどな >>138
言っている意味が良くわからないけどmodels.pyとtemplates分けるだけなら簡単だろ
urlパス毎に分割するのがムズいという意味なのか? pyramidとbottleをちょっと触ってみたけど大きな違いはなさそう
pyramidにあってbottleにないもの、またはその逆は何かあるんでしょうか >>140
ブログ記事を参考に
controllers
models
templates
という3つのディレクトリを用意してその中にそれぞれのファイルを作ったんです。
サイトを作りながら何か回りくどいなぁと感じてまして。
mysqlを使う際はどんな構成がベストなのでしょうか? Rubyがダメな理由
>>143みたいなレスしないと自尊心が保てないやつがいる所 秀丸でファイルを更新したらftpでアップロードしてsshでuwsgiを再起動(restartに2-3分かかります)してページを確認という方法でBottleのサイトをコツコツ作っています。
自分で作業しながらとても効率が悪いと感じているのですが、何かオススメの方法ってありませんか?
html→PHPとずっとこの方法でやってきたのですがもっと良い方法があるのてはないかと思いまして…。 uWSGI の py-auto-reload で監視しつつ Samba で共有したファイルを直接編集するとか ssh してるなら ftp なんて使わずに scp すればいいのに
全部自動化出来るし
uwsgi 再起動もしなくて良い方法もあるのに Notepad++はftpやらsshやら直接接続して編集できるから設定しとくと便利 質問です。
Javascriptでブラウザ上から操作してある値を得て
その値をAjaxを使ってサーバー側のPythonに送って処理して
その処理した値をJavascriptの方に返したいのですが
どうすればいいでしょうか? >>155
なぜそれが必要なのか、具体的に何をしたいのか、
さしつかえなければ書いて。学校の宿題? scに書いてしまったので再投稿です。
>>150 >>151
「 >>152 」の方が書かれているようにPHPから来たのでputtyとfilezillaを使ってます。
>>153
初めて知りました。時間が出来た時に勉強します。
[uwsgi]に
python-auto-reload = 1
を追加したら.pyのファイルは自動更新されるようになりました。
http://d.hatena.ne.jp/dayflower/20121017/1350447805
を参考に.tplファイルも自動更新にしようとしたのですが、
uwsgiを別の仮想環境にインストールしている
(これを参考にしました→ http://qiita.com/5t111111/items/e170fead91261621b054 )
のでimport uwsgiでエラーが出てしまいました。
複数のドメインを運用する場合にはそれぞれにuwsgiを入れるしかないのでしょうか? >>158
開発サーバー使え
bottlepy.org/docs/0.12/tutorial.html#development
2 つめの質問は、uWSGI 側で解決したいならそれであってる。
Python 側で解決したいなら SERVER_NAME で分岐すればいいんじゃね。 >>159
ドメインの管理はnginxでよくねーか? 少し詰まってしまったので質問します。
flask に flask-wtforms を 入れてフォームを作成したのですが
form.validate_on_submit() を使った際に Trueにならなくて困ってます。
TextField()で作成したフォームをsubmitした場合はうまくいくのですが
なぜかSelectFieldで作成したフォームはどの値を入れてもFalseになってしまいます。
enable_csrf を false にしたり templatesの<form>の一番上に{{ form.csrf_token }}を入れたり
色々としてるのですがうまくいかないです。 Go言語に鞍替えして最近ぜんぜん使ってないけど
flaskは3rdライブラリがバグまみれでかなり手直しが必要だった
というわけでflask-wtformsのソース見たほうがよい (俺の直感) 161 です。
いろいろしてたら解決しました。
SelectFieldで作成した際にchoicesで返却する値を
int型にしてるとダメだったみたいです。
unicode()で変換してから通すと行けました。 >>162
flask-sqlalchemy の悪口はそこまでだ! pyramid使おうよ
flaskとそんなに変わらないよ 異常終了した時に自動的に再起動させるには何を使えばいいですか?
ちなみにPython3です。 ttp://supervisord.org/ とか使うのがいいんじゃね >>170
>>172
ググってみたらpython3には対応していないという話が出てきました。
(´;ω;`) >>173
デーモン管理とアプリは切り離せるだろ
supervisor はあくまでもデーモン管理だよ pyramid使うんだったらdjango使うよ
さくっと作りたい小さいものならbottleかflask使うよ 最近始めたばっかりだけど和訳が古過ぎて英語のほう読まないと行けないのがきつい 日本だとdjangoやっとけば仕事になりそうってだけ
それ以外のフレームワークを学習する余裕がない ■ このスレッドは過去ログ倉庫に格納されています