【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 おじいちゃんのすくつだぁ!
ぼくそんなのしらないよぅ…… >>680
みど、ふぁど、れっしーは知っているかな? 自分の時はブーとかウーとかだったなぁ・・
あとは、ゆうれいさんとか つまり @route さえあればwebアプリフレームワークてこと?
うん、そうだな Python歴7年、今日からDjango始めます。皆さんよろしくおながいします >>688
おかあさんといっしょの中で好きなキャラを晒せぇ!! え?このスレっておかあさんといっしょのキャラを最初に
言わないとダメなんですか?
自分はれっしーです。 Django以外のフレームワーク使ったことある人に聞きたい
Djangoって他と比べてどう? DjangoはModelあるのが大前提だからね
システム上の設定書き換えとかサービス再起動させる小さなアプリにはFlaskやbottle使ってる Flaskは聞くが使ったことは無いなぁ
コンパクトなアプリケーション向けなのだろうか >>695
別にモデル前提ではないけど、DBに書き込まないの
であれば、Djangoである必要は半減だね。 特にbottleは標準ライブラリのみでbottle.pyファイル一つ置くだけで作れるのがお手軽で良い 延びてるからなんか建設的な話してるのかと思ったらどうでも良すぎて草 ModelがRDB(MS)のActiveRecord限定だからね。
強みのようで最大の欠点でもある。 >>702
申し訳ありませんが、どのようなシチュエーション
で、欠点になるのですか?
他のFW知らないので、教えて下さい。 ActiveRecordって、一般的に使用されてる語彙だっ
たのね。勉強になりました。
今のところ、導出項目はModelのsaveメソッドを
オーバライドする事で対応してます。 >>523
確かに、djangoのいいところは管理画面の基本的なところを
最初から使えることかな。
簡単な掲示板やらmemoアプリなどはすぐに作ることができる。 そもそもdjangoって仕事に生かせるものなのか?
「おれdjango使うことできまーす。仕事なにかありますか?」ってなったらどんな仕事できんだよ。 俺ぐらいになるとdjangoでパンケーキを焼くことが出来る >>710
俺はそれで今の仕事してる
社内システム作ってる Ruby on Rails に対する Django の優位点って何? どう考えても
scaffold
一発ですべてできてしまう Rails の方がすぐれていると思うが DB ごと作り直せばいいじゃない
どうせ全自動で作ってくれるんだから デプロイが一番難しいな
レンサバでDjango動かしているけど
なんか設定ミスがありそうで怖い 何でやっても設定ミスを減らすことはできないと思うが デフォルト設定が絶妙だということ?
デフォルト設定が目的の設定だったらそれでいいけど
結局自分でいじるんだったら、ミスする確率はそんなに
変わらないと思うが 安心しとけ
こんな簡単な設定もわからないなら他のフレームワーク触らない方が良い 知識がない人ほど謙虚じゃないよね
サーバー関連は気おつけたほうがいいよ adminサイトがFileFieldをちゃんと認識して
ファイルアップロードできるのすごいね
ただそのままだと404で開けないか
アップロード先を公開してるurlにしないと
だめなのか(´・ω・`) djangoでpythonはじめて使うけどシンプルでいいね USE_L10NってTrueにする必要ある?
DATE_INPUT_FORMATSの
設定が反映されないから
ずーっと不思議に思ってたんだが
USE_L10NをFalseにしたら反映されたよ >>734
日付を%Y-%m-%dで入力したいから
仕方ないね(´・ω・`) >>717
Rails使ったことないがRailsは管理サイトは自動で作ってくれるの? rails って複数データベースとか、簡単に n+1 対応とか出来るようになったの?
あとセキュリティやらかしてたけど、モジラみたいな団体がスキャンしてたりするの? >>736
Rails標準ではないがGemに追加すると管理サイト作ってくれるのあるぞ >>739
ミドルウェアか
Railsは中小企業とかベンチャーがよく使ってるから、サービス売るならRailsで作ったほうがいいんだよな
まぁ、Rubyの人気落ちてるからこれからどうなるかわからんけど Railsはプロジェクトが拡大していくと途端に破綻するので、
プロトタイピング用途以外に使うのは止めたほうが良い。 サーバー知識皆無で、レンサバにデプロイしたいので
参考書教えて下さい。 定額で動かすとなるとどのレンサバが安い?
やっぱさくらのバーチャル? >>746
さくらのVPSでいいんじゃないか
あそこより安いとこってどこかあるか? サーバーの勉強したいのか、勉強せずにとにかく簡単にやりたいのかで変わる
サーバーの勉強したいならVPS勧める 今現在のDjangoでの一般的なViewの実装は、クラスベースビュー(汎用ビュー)と関数ベースビューって使い分けをしたりするものですか?それとも全てクラスベースビューで行うものですか? >> 751
コーティング量が減るし、わかりやすいから、
ほとんどクラスベースドで実装してます。 >>752
ありがとうございます
クラスベースでの実装でやってみます >>753
Djangoのクラスベースドの流儀に従えば、問題なく実装できると思います。
ListView, DetailView, CreateView, UpdateView(その他にも・・・)、基本
的なことはDjangoがやってくれます。
だから、「これくらいはDjangoがやってくれるよね(考えてるよね)」という
意識で、余計なこと・余計な考えをせずに、単純に実装してみてください。
私は、最初にクラスベースドでゴリゴリ実装しており、時間があったときに
Djangoのソースを確認して赤面しました。他のフレームワークと同様に、
Djangoはちゃんとやってくれます。
モデルそれぞれのビュー(ListView、DetailView,CreateView、UpdateView)
が暗黙的に決定されるtemplateの名前を意識する。
TemplateViewには、get_context_dataでテンプレートにレンダリングするデータ渡す。
DetailViewを表示するurlには、pkをビューのself.kwargsで得られるように設定するなど。 SPA で作るなら Django は API だけでフロントは別に用意するでしょ django-rest-frameworkがある。 restframeworkもいろいろなビューが用意されているが、
細かいところチューニングできないからけっきょくAPIViewで書いちゃうんだよな 質問失礼します
Djangoで複数のアプリケーションを含んだプロジェクトを作った時に各アプリケーションに共通のlogin_requiredを実装したいといった場合にlogin.htmlのviewにformを適用したいのですが、どのように実装するのでしょうか
accountsアプリに実装?
プロジェクトのtemplatesにregistrationディレクトリを作ってformをインクルード?
具合的に教えて頂けると嬉しいですが参考にできるサイトや専門書などありましたらお願いします やり方知らないんだったら
WSGIでルーティングだけやって
あとは普通にpythonごりごりの方が楽やで
わりとまじで >>762
もうそれDjango使う必要なくない?w そうなんか
まあCRUDできりゃいいよな
俺はCLI作って学習してる最中だけどもな viewに複数のモデルを持ち込みたい場合って、コンテキストのupdateでええの? >>760
django.contrib.auth.formsに、UserCreationForm
とかあるから、それをそのまま使う。 >>767>>768
ありがとうございます
別々のモデルですね
例えば、Department、Employeeという二つのモデルがあって
viewでそれぞれのobject_listを使いたい場合とかです
Employeeの外部キーにDepartmentがあります >>769
ListViewでどちらかのモデルを、Metaまたは
get_querysetで指定して、もう一方をコンテキスト
で渡す。
それか、TemplateViewで両方のQuerySetを、
コンテキストで渡す。
そのViewが何を目的としているかによって選択す
れば良いと思います。
両方の情報を単に表示したいのであれば、後者かな
と思います。 >>769
ごめんなさい。
771の返答の前に、EmployeeとDeparertmentを、
1つの表みたいに表示したいのですか?
そうであれば、EmployeeのQuerySetを渡すだけで、
Template内でDeparetmentは参照できます。 >>771>>772
なるほどですね。ありがとうございます
ちょっとやってみます! >>771
ページネーションしたいときはListViewだな。 連投すみません
ページネーションで思い出した。。querysetでEmployeeをDepartmentでフィルターかけたときのページネーションを簡単にする方法ってあります? >>775
urlが’department-employee/<int:department_id>/‘
としたら、ListViewで下の様に実装したら、
ページネーションの準備はできているはず。
paginate_by = 20
def get_queryset(self):
____department_id = self.request.GET.get(‘department_id’)
____department = get_object_or_404(Department, pk=department_id)
____return Employee.objects.filter(department=department)
Djangoがgetパラメータのpageから、そのページに
表示する20行をobject_listでテンプレートに渡すから、
テンプレートでページネーションの実装をすれば
いけるはず。
return Employee.objects.filter(department__id=department_id)
で、いけたっけ? >>776
ありがとうございます。大変助かります
Djangoは情報が色々と散乱してて何が適切な実装なのか精査するのが大変ですね。ぼちぼち本も新しいのが出だしたのでじっくりやってみます >>778
まぁまぁ。
Djangoの用語に慣れてないからだと思う。 ■ このスレッドは過去ログ倉庫に格納されています