diadia

興味があることをやってみる。独学で勉強しています。初心者から始めたので困ったことを書いて同じ境遇の方のヒントになればと思います。

Django

django-allauthを使ってメールを送信を絡めてユーザ登録したい

前提 sendgridを使ったユーザー登録を実行 emailを送信するためにはsettings.pyをいじると送れることは知っておくこと。 ここの設定によってemailの送信を例えばgmailから送ったり、sendgridのようなメール配信サービスのAPIを利用して送ったり、またはメー…

sendgridに関わるメモ

メモ https://simpleit.rocks/python/django/adding-email-to-django-the-easiest-way/ 上記リンクについて補足 djangoのメール送信はsend_mailで送信できるが、sendgridを使う場合当該ライブラリをインストールしてsettings.pyを指定の通りに変更するだけで…

gunicornをインストールしてサービス公開

collectstaticを実行 サーバーに/usr/share/nginx/html/media,/usr/share/nginx/html/staticディレクトリがあることを確認してcollectstaticを実行する。 # ディレクトリがない場合以下を実行 $ mkdir /usr/share/nginx/html/media $ mkdir /usr/share/nginx…

エラー: django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co...

エラー django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co... 以上のエラーが発生した。 これはdjangoのmigrateコマンドを実行したときのエラーである。 環境 環境 ---------…

centos7 psycopg2のインストールエラー

sudo pip3.6 install psycopg2のエラー Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-70sqru_l/psycopg2/ 以上のようなエラーが出た。この問題には以下のように解決する。 https://ja.stackoverflow.com/questions/469…

centos7にdjangoをインストール

djangoのインストール pipを予めインストールしておくこと。 sudo pip3.6 install django==2.1 その他djangoに必要と思われるもののリスト # djangoで画像を表示させるアプリを作る時 pip3.6 install -y Pillow # django-allauthを使う時 pip3.6 install -y …

さくらVPSを使ってdjangoを公開する まとめ

さくらVPSにcentos7を入れる http://torajirousan.hatenadiary.jp/entry/2019/03/31/011303 centos7の初期設定 サーバーへ安全にssh接続できるような設定を行う。 http://torajirousan.hatenadiary.jp/entry/2019/04/22/172101 条件は以下の通り。 root以外…

sqlite:DBに格納されたテーブルデータを確認する方法

djangoでは開発時にsqlite3が使われる。このDBに直接接続し、データを入れてみようと思った。そのときにテーブル名が必要になる。どのような名前のテーブルか 参考文献:https://crimnut.hateblo.jp/entry/2018/04/17/172709 import sqlite3 con = sqlite3.c…

django-allauthのログインリンクのはり方

webアプリケーションのnavバーにログインリンクをはろうと試みた。 メモしておく。 試みたこと いつものようにapp_nameをアプリurls.pyで定め、app.urls.pyでnameを定める計画をする。しかしそもそもこれは自分が作ったアプリではない。てことで少し悩む事に…

django-allauth : テンプレートのカスタマイズ

django-allauthを使ってみた結果ユーザのログインページが味気ない感じだった。 ここを修正していこうと思う。 https://qiita.com/s-katsumata/items/b667c81a127223d2e868 こちらにテンプレートのカスタマイズ方法があった。これを参考にテンプレートをカス…

formのウィジェットについて

ウィジェットの理解を深めない限り、forms.ModelFormやforms.Formの利用したとて、フォーム画面が残念な結果になってしまう。 見た目の良いフォーム画面を作るには、htmlでフォーム画面を作成するか、ModelFormやFormのウィジェットを使いこなせる様になる必…

django mediaについて

mediaの配信について分かっていないので、少し 調べてみることにする。 class Hoge(modelsModel): image = models.ImageField(upload_to="hoge/static/images", null=True, blank=True) このように書くと、サーバー上のpostgresqlのテーブルでは一体どのよう…

staticについて理解を深める

まず開発中の場合、django.views.static.serve() ビューを用いてstaticファイル、mediaファイルを配信するようだ。 https://docs.djangoproject.com/ja/2.1/howto/static-files/#serving-static-files-during-development https://docs.djangoproject.com/ja…

python manage.py collectstaticについて

静的ファイルを配信したいがファイルが集まらない 通常djangoは画像などの静的ファイルはnginxから配信する。 nginxから配信するに静的ファイルはサーバー内の静的ファイル置き場に設置する。 この設置を自動的に行なってくれるのが以下のコマンドである。 p…

ajaxをdjangoで使いたい

いくつか問題が生じてajaxが実現しない。 エラー対処したこと まずbootstrapのStarter templateをそのまま使うとajaxが使えないことは知っていた。starter templateではslim版なのでmin版を使いなさいってことは情報収集でわかっていたことだ。 https://getb…

django エラー:AttributeError: 'ManyToManyField' object has no attribute 'm2m_reverse_field_name'が出る

python manage.py makemigrations をしたら以下のようなエラーが出た。 AttributeError: 'ManyToManyField' object has no attribute 'm2m_reverse_field_name' エラーが出るまでの過程 models.pyをいじり、makemigrationsを終わったあとにmigrateした。 問…

JsonResponseについて

JsonResponseは今の所ajaxを利用するときに使うという認識だ。 views.pyでは以下のような感じで関数ビューを書く。 views.py... from django.http import JsonResponse def ajax_post(request): if request.is_ajax == True : json_data = { "result" : "suc…

django TabularInline について

TabularInlineについて tabularinlineをよくわかっていない。よく理解した頃に再編集するとするが、今立てている仮説とサンプルを残す。 サンプル admin.pyにて class AnswerTabularInline(admin.TabularInline): model = Answer class QuestionAdmin(admin.…

django csvを出力する

やりたいこと とにかくファイルの出力の基礎を学びたい。今回はcsvファイルをdjangoに投げて、重複するデータは削除し、csvとして出力する仕組みを作ってみる。 未知な部分 出力した結果をhtml上ではどう表現するのか?イメージではアンカーをクリックでダウ…

CSVファイルを受け取る機能(アップロード機能)について

csv関連の資料 https://docs.djangoproject.com/ja/2.1/topics/http/file-uploads/ https://qiita.com/otera05/items/25d5bad759d39d61bc40 html上でどのような記述が必要か(試行錯誤過程) 文字列においてはformタグ内にinputやbuttonを設置することで、サー…

今作りたいアプリケーションについて

今作りたいもの djangoでECサイトはそれらしいものが出来てきた。JAVAではECサイト作成は登竜門である、とどこかで聞いたのでやっとそれなりにdjango使い見習いとして言える身分になったと思う。 pythonはdjangoを通してよく学べたと思う。クラスの継承方法…

検索(サーチ)機能を実装する

検索機能を実装したい データベースからブログの記事内容だったり、商品を検索して結果を表示したい。 それは検索キーワードに合致する結果を表示すれば良い。 キーワードに合致するものだけ抽出する方法は、objects.filter()を使えば解決できる。 結果を表…

OR検索を使いたい

Qオブジェクトを使う and検索はfilter()メソッドで連結させて書くことで挙動を実現できる。一方or検索ではQオブジェクトを使うことで実現できることがわかった。 ドキュメント: https://docs.djangoproject.com/ja/2.1/topics/db/queries/#complex-lookups-…

TypeError: unhashable type: 'set' エラー対処

エラー内容 TypeError: unhashable type: 'set' 上記のエラーが出てきた。unhashable typeって出てきた。 エラー発生箇所 以下のコードがエラーの発生源だった。 print(type({{ cart_obj.subtotal }})) 他にもこのコードも同様なエラーが出た。 charge = str…

django ユーザ認証の条件分岐

ユーザ認証に関わる条件分岐について 今回ユーザ認証したユーザとAnonymousUserで表示するものやプログラムの論理構造を変えようと思った。当初書いていたコードは例えば以下のもので、それは期待した挙動を得られなかった。 元のコード hoge.views.py... fr…

IntegrityErrorが発生してしまう。。。

エラー対処中 解決次第更新する django.db.utils.IntegrityError: NOT NULL constraint failed: appname_model.anoteher_model_id 同じエラーが出ている人の記事: http://nihaoshijie.hatenadiary.jp/entry/2014/06/12/090008 ドキュメントのフィールドオプ…

If you see valid patterns in the file then the issue is probably caused by a circular import.

エラー内容 The included URLconf '<module 'apps.urls' from 'hoge/apps/urls.py'>' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import. 文章の意味は、apps/urls.pyにurlのパターンが存在しないからエラーが</module>…

Exception Type : MultipleObjectsReturnedが出るとき

エラー内容 djangoを使っていて以下のエラーが出た。このエラーに対してなんのことか分からなかったのでメモしておく。 Exception Type: MultipleObjectsReturned Exception Value: get() returned more than one Post -- it returned 4! エラー箇所のコード…

django 日記の作り方

日記アプリを作る 日記タイトル、日付、日記の内容を表示するアプリケーションの作り方。 これはdjango初学者にとってイメージしづらいdjangoの使い方をイメージしてもらいたくて書きました。 環境構築 windows,macを使う場合いずれにしても、anacondaをイン…

emailとpasswordで認証する仕組みにする

ドキュメント:https://docs.djangoproject.com/ja/2.1/topics/auth/customizing/ EmailとPasswordで認証するために 方針はdjangoのUserモデルを書き換えemailとpasswordで認証する。 Userモデルは以下から構成される。 AbstractUser AbstractBaseUser Permi…