【Python】Python Webフレームワーク総合スレ
>>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やっとけば仕事になりそうってだけ
それ以外のフレームワークを学習する余裕がない 日本からrailsを死滅させたい
だからぼくは今日もdjangoでhello worldを書くよ django, flask, bottle, pyramidと全部触ってみたけどpyramidに落ち着いた
django以外はどれも似たり寄ったりだね ☆ 日本の核ブ装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆ http://peace.2ch.net/test/read.cgi/tech/1431763770/302
おすすめのフレームワーク
何でもこなせるタイプのDjango
軽量系で人気のFlask
最初は上の2つから入門したほうが困った時にググると情報が多いのでおすすめ
他にもbottleとかtornadoとかpyramidとか他にもあるけど慣れてから試してみればいい
PythonでWeb制作している人たちはレベルの高い人が多いので技術的な質問は2ちゃんで回答を得られないと思え
俺も2ちゃんでは回答しない
わからないことはja.stackoverflow.comへ丸投げすればいい良質な回答が付く
Yahoo知恵袋はバカしかいないからあそこで聞くのは時間の無駄 名前自体3ヶ月ぶりくらいに聞いた
現在の1日の平均質問数18件で、12月〜1月の20件以下だ
俺の予想でもここまで伸びないとは思ってなかったぞ yahoo知恵を馬鹿にしてるけど、賞味yahoo知恵未満だよ。
話題にすらならないからね。 stackoverflow知らない奴はたいてい初心者 stackoverflowっておまえらみんな英語できんのかよ
まぁ読むぐらいならわかるけど文法めちゃくちゃになるから書くのは無理だわ
pythonは2と3に分かれて自分の中で面倒くさい言語になってしまったけど
日本でのコミュニティーの衰退っぷりが(元々そうでもなかったが)
やっぱ他の人もそれを感じてるんだろう? http://drillan.github.io/python/get_stock_price_from_rakuten_rss.html
こちらのページを参考に楽天RSSから株価を取得するプログラムを
作成しているんですが
株の銘柄をCSVで複数指定できるように改良したんですが
同時に128以上の銘柄を指定するとなぜか以下のようなエラーが発生してしまいます
127以下の場合はエラーが発生しません
どうすればよろしいでしょうか?
>Unable to establish a conversation with server (err=0x4006) ttp://hesonogoma.com/stocks/data/japan-all-stock-prices.json ああ、そういえばAPIでpython使えたりするんだっけ Bottleやweb2pyを弄ってきて、今Djangoやってるんだけど
Djangoって設計がおかしくない?
ユーザーは疑問を持たず使えてるの?
公式ドキュメントが1000ページ超えってありえんだろ >>210
何ページくらいなら許すの?
昔、某ベンダーに質問したら
貴方うちの製品に精通してます?たった数百ページのマニュアルなんで読んでください
って言われたことがある 1000ページじゃ少なすぎて読む気も起こらないよなw
インストールの説明くらいしか書いてないだろ 貧困女性の風俗勤務実態調査の方がボリュームありそう flaskのアプリをデプロイするには組み込みのserverじゃなくてnginx使うの? Flaskでマルチパートなレスポンスを返す方法がわかりません。
どのあたりを参照したらよいでしょうか? 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
MGMFESVXQG ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
DEM5Q PHPも停まってるけどPythonももう停まってるの djangoのouterJoinがうまくいかねー
めんどくさいからview作っちゃうか 今更ながらBottleいじり始めた。別段何か作りたいものがあるってわけじゃないけど
Web関係もちょっとかじっとこうと思ってね。 Django3なのですが教えてください
フォームの登録処理で
・forms/forms.pyでSampleFormを作成、views.py内でインスタンス化
・views.pyのformsample(request)内で
context={}
context['form']=form(request.POST)
とやってフォームをコンテキスト化
・render(request, 'app/formout.html', context)
といった処理を書いてます
formout.html内で{{ form }}と記述すると、SampleFormに定義した値の入力フォームが
出力されたり、views.py内でrequest.POST['name']とすると
フォームに入力された値が得られるので、フォームとしてはうまく動作しているように
思っています
ここで、formout.html内で、ポストされたAAAAの値を拾いたい、と思っているのですが
どうすればよいのでしょう
今はviews.py側で逐次 context['req_AAAA'] = request.POST['AAAA'] として
コンテキストに入れかえて、renderで指定したhtml内で{{ req_AAAA }}として
値を拾っているのですが、formは渡っているので、うまく活用できないかなと思ってます >>230
無理ではないかな
渡す値だけコンテキストに入れてテンプレートに書かせる、が正解だよ
むしろ使ってないのにformを送っているようだと、使うことを意図していないオブジェクトを送っていることになり、
テンプレートを改竄すれば意図しなかったオブジェクトの情報を漏洩させられるとかで、
そのプログラムには問題があるように思うよ
たしかにQiitaとかでformをそのままテンプレートに書かせたりしてる記事が多いけど、
アレらは、よく分からずにそういう記事を書いてるのだろうし、
やったところでどうせみすぼらしいフォームが表示されるだけだし、
テンプレートにformは渡す必要無いと思うよ >>230
djangoなら{{form.AAAA.value}}とするとテンプレート側で値を得られるよ
ただ、{{form}}でフォームを書けるから、というだけの理由でフォームをテンプレートに渡す必要はない、というのには同意