diadia

興味があることをやってみる。自分のメモを残しておきます。

Django

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で認証する仕組みにする

他の方法も 下記の記事はUserモデルを独自のモデルにして識別子(identifier)をemailにすることで認証をemailで行うように実装する方法だ。 他方で認証バックエンドにカスタムバックエンドを準備し、それを使うことでEmail認証する方法も成功したのでそのうち…

class Meta について

一体何なのか Metaを使う場面 よく分からずMetaを使っていた。というかコードをコピペしてた。これはなんなのか? 自分が使う場面は、form関係ではModelFormの継承時に使う。こんな感じで。 from django import forms class MessageForm(forms.ModelForm): c…

ビルトインUserモデルを修正変更したい場合

ベース記事_Userモデル ベース 内容一覧 ビルトインのユーザーモデルの呼び出し方 from django.contrib.auth.models import User ビルトインのUserモデルを修正変更したい場合 既存のUserモデルを変更したい場面に出くわした。自分の場合はmodels.pyにある…

class based view メモ

基本的にここに書いてある内容で自分でわかったことをメモしていく。 https://docs.djangoproject.com/ja/2.1/topics/class-based-views/ context_object_nameの使い方についての文章 https://docs.djangoproject.com/ja/2.1/topics/class-based-views/gener…

class based view メモ

例えばDetailviewを継承したクラスにクラスメソッドとしてdef post(self, request, *args, **kwargs):として書くと、request.POSTが動く。でもdef sss(self, request, *args, **kwargs):と書いて同じ内容のコードを記述してもエラーになってしまう。 この現…

LoginViewを使ったログイン実装

以前までのログイン実装方法 以前までviews.pyにはlogin用の関数を定義してログインする方法をとっていた。ユーザーログイン機能をdjangoプロジェクトに実装する LoginViewによるログイン機能の実装 LoginViewを使うことでurls.py,settings.pyとテンプレート…

formについてメモ

formの整理 html上でformタグで書く方法 forms.Formを使う方法 html上でformタグで書く方法 概要 html上でformタグでフォームを作成する。このときnameを忘れない。views.pyにて、入力されたデータはrequest.postに格納される。request.postは辞書型に似たも…

django stripe 支払い請求をする

stripeの使い方イメージ まずお客さんのカード情報をstripeにcheckout.jsまたはelementを使って送信する。するとそのお客さんのトークンが発行される。このトークンを使って支払い請求するようだ。それが以下のコードになる。でこのコードはサーバーサイドに…

Django stripe カード情報を登録する

stripeソースurl https://stripe.com/docs/api/cards/create?lang=python メモ import stripe stripe.api_key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" customer = stripe.Customer.retrieve("cus_EPPm06zGJs6haY") customer.sources.create(source="tok_maste…

django stripeでpaymentページ作成

paymentのページを作成 djangoのhtmlファイルに書く場合を想定する。メモとして残す。 {% extends "base.html" %} < > {% block content %} {% end block %} block content にstripeで提供されるコードをコピペで実現できる。stripeのコードはこちらに有る。…

django contenttypesフレームワークについて

contenttypesのドキュメントの理解をしてみる djangoのシグナルを学習しているうちにcontenttypeを用いる可能性が出てきたのでドキュメントを読んで見る。 https://docs.djangoproject.com/ja/2.1/ref/contrib/contenttypes/ まずcontenttypesって言葉は? …

django signal (set of built-in signals)について

set of built-in signalsとは djangoが提供しているできあいのシグナルである。これを使うとシグナルを自身でカスタムする手間が省け、開発のスピードとコーディングの精度を担保できる。具体的にはpre_save,post_save,request_finished等が挙げられる。これ…