【Python】Webフレームワーク Djangoスレ Part2
レス数が900を超えています。1000を超えると表示できなくなるよ。
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 >>847
そうなのか。読んだつもりで最初の方スルーしてた。>>847 >>847
そうなんです!
ラズパイをテストサーバーにして色々と学習してみたく・・・
本格的にショッピングサイトを作って運用するならサーバー用のマシンを買わないといけないのでしょうが、
普通のブログくらいだったらそこまでパワーを必要しないですよね。 Django内臓サーバーだととりあえず大丈夫なのですが
nginxで外部に公開出来る様にするにはどうすればいいのか放置して進めています・・・
コロナ自粛が終わって本屋が開いたら調べに行ってみます。 Django + nginx って一般的な組み合わせだからGithub, Qiita, はてなブックマークで検索すればnginx.confの設定例見つからない? 公式のドキュメントにNginxの設定書いてなかったっけ?
あとDRFのドキュメントサイト閉鎖してる? ファイルロックで代替できないんですかね
やってる人見当たりませんけど 排他制御っていってもなんのことだか。
DBの範囲で済む話なら、Djangoを普通に使うだけでは?
スレッドとかプロセスの話なら、DjangoでSignal利用して、あとは通常通りのPythonの排他制御を行う。 djangoってみんなどれでやってる?
google colab
pychar
anaconda
pytorch
どれ? >>857
楽観的排他的制御
Djangoにはその仕組がないのでは
でも排他的制御やりたくなったらみんなはどうしてる?って話 たしかにパッケージ名がdjango-filtersのヤツもあった気がするけど
一般的にはこっちじゃない?
https://pypi.org/project/django-filter/ >>861
ああ、こっちがdjango-filtersなのか
まぎらわしいな
間違えて入れたのがrequirements.txtにそのままだったのかな?
サンクス 今本番環境のDBをローカルに再現してる
はじめてdumpdataとloaddataを使った しかし鯖でデータをダンプするとSSDを圧迫するんだよな
データベースのポート開いてリモートからダンプすればいいのかなこういう場合
ポート開きたくないな django始めたばかりでよくわからず教えてください。
複数レコードを1画面で登録したいので、forms.modelformset_factoryを使いました。
単一レコードの場合はバリデーションが効くのですが、formsetを使用するとバリデーションが効きません。
formsetの場合は自分でチェックするしかないのでしょうか? >>866
SSHでリモートから直接ローカルにDBダンプできるの? ASGIってWSGIと何が違うの?
非同期だからWebソケットの通信ができるとか?
つまりゲームサーバー用途に使えるということ? Django の本が増えてきますね。
ユーザーが増えてきてるのかなぁ。 質問です。
HerokuとDjangoの初心者です。
公式チュートリアルで
https://devcenter.heroku.com/articles/getting-started-with-python#provision-a-database
まで進んだんですが、
ブラウザに
https://xxxx-xxxxx-12345.herokuapp.com/db/
と入力すると、エラーが出て躓きました。
db.htmlの'staticfiles'を'static'に変更すれば直るそうなのですが、
肝心の/app/hello/templates/db.htmlが見つかりません。
/app/hello/templates/db.htmlはどこに置いてありますか?
質問の詳細はこちらです:
https://teratail.com/questions/300209
すみません、どなたかお願いします… >>875
ありがとうございます。
リンク先、見ました。
db.htmlがextendsを用いてbase.htmlから継承しているのは理解できました。
また、base.htmlはdb.htmlと同じフォルダ内にあります:
> tree /F
フォルダー パスの一覧: ボリューム Windows
ボリューム シリアル番号は 3A58-8BE1 です
C:.
base.html
db.html
index.html
しかし、内容を見ても、appとかdbとかいうのが出てこないです。
すみませんが、/app/hello/templates/db.htmlの場所を教えていただけないでしょうか? >>877
しかし、もし正しく継承しているなら、
既にdb.htmlの'staticfiles'を'static'に変更しているので、
エラーは出ないはずです。
('staticfiles'がそのままの)別のソースコードが表示されていてエラーが出ているので、
どこか別のところにあるはずです。
Djangoに詳しい方でも分からないですか? そりゃお前が消したのかも知れんし
おま環はお前にしか判らんよ
本気で調べて欲しかったら
ソースpackしてうpしろ >>869
遅レスだけどこんなふうにすればsshで転送できる。
http://bashalog.c-brains.jp/10/09/30-183733.php
mysqldump -u<USER> <DATABASE> -p<PASSWORD> | gzip | ssh example.com 'cat > ~/db_name.dump.sql.gz' Django案件にアサインしたから覗きに来たけど過疎ってるね (自分だけ使うウェブアプリなら気にする必要ないと思うけど)
アクセス毎にデータベースに接続するよりも
裏で、データベースから必要なデータだけリスト化してjsonなりtxtなりで保存するような定期タスクを動かして
フロントエンドからのアクセスはそのリストに接続するのが普通だと思うけど
そのjsonとかtxtファイルはどこに保存するのがいいのでしょうか
アプリ内のどこか任意に作るの?
それともそういうためのテンプレートでもあるのだろうか フロントエンド何にするか知らんけど、ローカルに格納するデータの要件に合わせて
Cookie/Local(Session)Storage/IndexedDB とかに保存することが多いんじゃない。
あとは Redis とかでキャッシュさせるとか >>887
フロントはウェブブラウザで
用途はデータベースから範囲分だけをリクエストする、みたいなよくある感じのやつです。
その範囲がある程度決まった範囲なので
あるページ(同じ結果のページ)を表示する度にサーバーのdbにも接続、っていいのかなと思えて・・
なるほどlocalstorageとかの有無で場合分けするのはいいですね
あれから調べてとりあえず/static/を設定して
そこにサーバー側から定期的に直接書き換えるファイルを保存しました(静的ではない気がしますが・・)。
個人用途ならなんでもいいと思いますが、
不特定多数のアクセスが多くなった場合とそのファイルの書き換えのタイミングの関係性とかいまいちわからない感じですが。
キャッシュとかも調べてみますありがとうございました フロントエンドって言うから Django は DRF なりでバックエンドとして API に徹して
React とか Vue 使うのかと思ったらそういうことではなかったか。。
別に秒間n万リクエストとか取得するデータがn万件とかじゃないんだろうし
普通に DB つなぎに行けばいいと思うが。 多分>>886は
フロントエンド→ユーザーのが伝わる単語か?
フロントエンドって書かれると
>>889みたいにAngular/Vue/Reactとかなのかと思う model.pyでとあるフィールドをmodels.CharField(max_length = 16)で設定したけど
python側で22文字をインサートしたらできてしまったんだがどういうことだい?
adminページからは16文字超えた値で変更しようとしたらエラーはでたが DB は SQLite だったりする?
だとしたら SQLite 側に VARCHAR の文字数制限がないことに起因していると思います。 同時にデータベースの更新があっても排他処理できていることをテストで確認したいのですが
テストで複数のトランザクションを同時に起こすにはどうすればいいんでしょうか 既存のデータベースが複合主キーだが、それをdjangoのモデルで管理するにはどうすればいいか教えろ無能ども 複合主キーのDBなんて捨てて、IDを主キーにして必要なキーにユニーク制約つけてデータ移行しろカスが azureでデプロイするときってどのデータベース使うのがええんやろ
sqlite使えへんのがつらい AzureはやはりMicrosoft系だからSQLServerと抜群に相性が良いはず
でも条件付きで課金され始めるんだよな djangoはpostgres推奨なんだよな。
ちなみにMySQL、SQL Serverのdjango用コネクタはSDKがなくてサードパーティー製しかない。
しかもdjangoがメジャーバージョンアップして使えなくなることが多く、更新の途絶えたライブラリが転がっている状態。 settings.pyの本番データベースの設定を環境変数に保存するようにした
だが端末からmanage.pyなどを実行するときにいちいち環境変数を設定しなくてはいけなくなった
Bashのスクリプトも環境変数設定してからコマンドを呼び出しみたいな
結果的に本番データベースのユーザ名やパスワードが色々なスクリプトに散らばるようになってしまった
それで環境変数に設定するのはやめて、settings.pyにベタ書きするようになった
つまりこれがベターなのかな? >>901
envファイルを作るやり方があったのか!
何故もっと早く教えてくれなかったのか謎だがあえて礼は言わないでおく! >>901
>>902は俺じゃない
.envに書けばいいのか
調べてみるわ、サンクス あらら。
Django公式ページがcertificate has expired M1macでpostgresは問題ないのにmysqlが使えない・・・。通常ローカルだとsqliteだから問題にならないが、mysqlにしなきゃならない事情があって辛すぎる。 DjangoとMysqlは相性悪いんだよな
Postgreで頑張れ >>906
ども、やはりそうだったのか。こんな超大手がすんなり動かないなんて信じられないけど、担当に事情話してpostgresでやります。。。 なんか上の方>>898で適当なこと言っているな。
DjangoをMySQLで動かすのに必要なのは、Python一般向けのドライバだけだ。
この点Postgresと何も違わない。
で、そのドライバ(mysqlclient)のm1対応が遅れているってだけだろ。 対応が遅れて支障をきたすデータベースなんか使えないだろ postgresって全文検索に難ありだった気がするけどpostgres推奨なのか。。。 M1macを実用環境で使うことなんてほとんどないし。
開発環境なら、Arm-Linux(docker/VM)がきちんと対応していれば十分。
そもそもPythonそれもWeb用途ならアーキテクチャの違いなんて無いに等しい。 偶然たどりついてみたが、10年前のスレかよw
日本語サイトのリンク切れてるじゃんww MySQLのドライバはPyMySQLみたいなPure Pythonの使っておけばいいじゃない。
機能差はあったと思うけど、とりあえずはそれで間に合うでしょ。 Djangoの案件って周りにまったくないんだが、ほんとに使われてるの? >>916
俺は2回参画した
そのうち一回は俺がFW選定した ウソ 「新型コロナ対策に専念するため出馬しません」
ホント 「選挙に負けそうなので出るのやめよう・・・」
こいつは最後までウソをつきつづけるのか!? wagtail か django-cms どっち使おうか迷っている
プラグインの自作というか、コードをいじる事を前提にしてるんだが、どっちがいいだろうか django-cmsは知らんがwagtailはガッツリコード書くよ ガッツリ書くっていうのがどの程度なんだろうか。
まるっきり書かないといけないからただdjango使ってるのと同じになるし djangoと相性良いフロントエンドフレームワークってVue.jsって聞くんですけど本当デスか? >>925
比較して相性いいかわからんけどウチはdjango nuxt vueで使ってるよ nuxtってなんなの?
わかりやすく説明してほしい >>927
ググればすぐ出てくることすら調べられない奴にITは無理だから別の仕事や趣味にしたほうがいいよ 確かにnuxtってdjangoよりも日本語の資料多そうだ
djangoってシングルページアプリケーションを作る事は可能ですかれるのでしょうか? >>930
今まさに作ってる。
他のフレームワーク使ったことあまりないから比較できないけど、DRF+nuxtjsで全然行ける。 >>931
やはりdjango単体で実現は難しいもんです? SPAをdjango単体にするってことは生のjsでこつこつ書く気か?
やめとけフレームワーク使え >>934
ありがとうございます
Djangoだと何でも出来るのでそれくらい出来るだろうと思っていました
単体ではSPA向けのフレームワークは無いのですね >>935
Django以外ならあるよ
.NetCoreとか レスをJSONとかで返すように作るだけなんじゃないの?
リクエストの種類は増えるけど中の処理は小さくなるから楽にならないのかな?
DjangoでJSON返すのが難しいの? JSON返すのはバックエンドの仕事
JSONをもとに組み立てるのはフロントエンドの仕事
SPAでDjangoができるのはバックエンドまで
フロントエンドはフロントエンドのフレームワークの仕事
普通はこういう風に分担される VisualStudiocodeでdjangoの開発を行ってるのですが、クラスベースviewを使うとrequest時のデバッグSTEP実行で止まってくれません
これはこういう仕様なのでしょうか?
自作クラスや関数ベースviewだと普通に止まってくれるのですが >>939
ブレークポイントを宣言に置いてるんじゃない?ちゃんとオーバーライドした関数内に置いてる? VSCodeでやってます
クラスを書いても黄色い波線がその下に表示されるだけでインポートのソリューションが表示されません
例えば"HttpResponse" is not defined Pylanceと出ます
osはm1 mac、venv、vscodeは昨日なんとか更新しました
また拡張機能のjupyterはアンインストールしました
django2.2、python3.9.7です >>941
因みにPylanceのランタイムの状態ではpython.analysis.logLevelとpython.analysis.typeshedPathsが登録できません。このプロパティは既に登録されていますと出ます すみません解決しました
理由不明ですが
日本語→英語→日本語にした(再起動挟んだ)
これかもしれません さてとにかく
ロケットの絵が出てきて
admin決めて
templateディレクトリ作って
index.html入れて
urls.pyを2ファイルと
view.pyの合計3ファイル改造して
ロケットの代わりに自作のindex.htmlが出るところまではきた、が
DBを全然有効活用できてないので
その方法を調べるか {{}}や{% %}で値や式挿入か
endforやendifもあり
html上で関数書く奴は少ないだろう staticフォルダを置いてcssや画像やjsファイルを管理
{% load static %}必須 Django に関する技術的な質問ができる日本語のサイトって何があるでしょうか。 レス数が900を超えています。1000を超えると表示できなくなるよ。