[SSAC Xコード入力](2021.09.09)Djangoプロジェクト問題整理02


📡 セッションでやっていますが、DBはㅠㅠ

  • 私のページに入ると、セッションはスキップされたと思います.そのため、ログインするかどうかを判断するには、セッションが接続されているかどうかを確認することが望ましい.

  • formデータが移管されていないと判断した.オブジェクトフィルタを設定するときに100回譲歩し、フォームデータをmypage関数に変換する場合は、犬糞訓練を行う必要があります.テーブルの上のIDに牛乳のお金がかかっているはずです.IDがないと無くなってしまうので一人だけ検索する必要はないはず!

  • データベースで検索する場合、条件を設定する場合は、必要な条件を設定するだけです.

  • -457914・に変更すると、コード効率が向上します.

  • セッションを最小限に抑え、同じ情報を検索してもコードでもう一度デバイスを検索するユーザー名のみを保持することが望ましい.

  • DBを作りますが、最近は走る必要もなくなりました.

  • filterを使うとquery文になり、for文を回すのでgetでfor文は使いません.

  • 検証すると言ったら、ドアが必要です.

  • セッションベースのオブジェクト.getは検証された有効な値であるべきです!

  • セッションを登録するときは、できるだけ厳密にセッションをチェックし、できるだけセッションの回数を減らす必要があります.
  • 🎧 SPA (Single Page Application)

  • SPAは現代のホームページで一番人気があります

  • ページ変換なしで1ページで再生する方法.再ロード不要

  • 変化する部分だけ変えたほうがいいです.

  • 外部ライブラリ(Javascriptなど)への依存性が向上しました!

  • ex)Bootstrap、JQuery、CKeditor等のライブラリ

  • 私が書いたコードは10で、私がロードしたコードは0.5ぐらいです.しかし、外部コードは100に向上しました.
  • 🍆 Ajax

  • Djangoとは別に使用できるスクリプトで、JQueryに含まれるメソッドです.

  • JQueryを導入する場合、infoUser = FlowerUser.objects.filter(userid=req.session.get(id))バージョンにajaxは含まれていないので削除すべきslim!

  • バックグラウンドでフォームを転送!

  • ページ全体を変換することなく部分的に再ロードでき、現代のホームページは双方向ではありません.

  • クライアントはサーバに情報を送信する必要があります

  • 両方の方向が完成していないとSPAは実現できません.それを解決できるのはAjax!

  • Form要素を作成します.(Formに属す必要はありません!!)slim <input type="text" id="userid">
  • ajaxで動作値とパラメータを指定してサーバに送信!
  • function a() {
    	$.post("naver.com/a.html", { id: $("#userid").val() })
    }
  • 私が無言で送ったデータに基づいて、サーバが何かを処理した後に反応!!では、その反応を「コールバック関数として」、やりたい処理を!
  • コールバック関数:特定の動作を実行する「後」に実行する関数
  • <input type="text" id="username">→実行コマンド+コールバック関数は2番関数!1号が実行されるとすぐに2号に撃たれる!
  • 승민님 홍콩에 가서 제니쿠키 하나만 사오세요.→Webブラウザは待機中ですが、インターネットの特性上、JavaScriptがすぐに実行されるのを待ちません.
  • 1回未満の場合は、2回実行できません.したがってjavascriptの順序特性のため,直接エラーは少ない.したがって,コールバック関数を用いて直接2回トリガする.
    📓 今日の質問

  • formをあげてボタンにタイプを指定しないとsubmitに接続されますが、その15回クリックした瞬間にformの中にあるのでボタンをクリックすると発動しajaxも発動し、formもsubmitになるのでリフレッシュとして確認できます.したがってbutton内ではsubmitではなくbuttonを与える.

  • 1ページに会員加入とログイン機能を追加し、会員加入ボタンを押してデバイスに保存してログインします.html値がdiv 1に送信され、//ログインボタンが押されてデバイス上でIDを検索することを示す場合、donelogin.htmlをdiv 2に返したいです.TypeError:User()が意外なキーワードパラメータ「userid」を得たというエラーはどこにあるのでしょうか.

  • Messages機能について

  • 多くの場合、特定のデータのほかに、特定の文字をウェブサイトに転送したいと思っています.もちろん、パラメータを渡すと、データベース内のクエリーセットも渡されます.

  • ビューとテンプレートで共通に使用される機能を思い浮かべました.それがmessage機能です.

  • Message機能ではlevelは重大度を基準にしており、数字が非常に高い.
  •  if message == '성공':
     	<span class = "text-success">성공</span>
     else:
     	<span class = "text-danger">실패</span>
  • 승민님 그거를 제 사무실 책상 위에 두세요.アンsettings.pyappで静的フォルダ内のファイルを収集します.

  • ログインウィンドウの前にページにログインしてから移動するにはどうすればいいですか?

  • A画面-ログインボタン-ログイン画面

  • ログイン前のA画面に戻るには、次の手順に従います.

  • 一般的に会話はダメ!会話は原油高だから!

  • ページを移動するたびに現在のページセッションに挿入
  • views.pyのログイン関数を作成します.
  • 現業はGET方式で前ページを飛ばしている.

  • Djangoからファイルをアップロードするには、次の手順に従います.
  • 送信メッセージなのでform!!
  • <input type="file" id ="input_file"></input>
    
    <input type="text" id ="input_text"></input>
    
    <script>
    	document.getElementById("input_file").value = "하하하";
    	document.getElementById("input_text").value = "하하하";
    </script>

  • 順番が大事!順序変更でinput textを上に移動すると、入力時にエラーが発生します.

  • Uncaught DOMException: Failed to set the 'value' property on 'HTMLInputElement': This input element accepts a filename, which may only be programmatically set to the empty string.
  • <input type="file" id ="input_file"></input>
    
    <input type="text" id ="input_text"></input>
    
    <button type="button" onclick="check_file();">첨부파일확인</button>
    
    <script>
    	function check_file() {
        	alert(document.getElementById("input_file").value);
        }
        
        document.getElementById("input_text").value = "하하하";
        document.getElementById("input_file").value = "C:\fakepath\ssac질문.txt";
        
        form.submit();
    </script>

  • ファイルを送信するとFormも作成されます.
  • static_url = '/static/'作成するコード
  • from django import forms
    
    class UploadFileForm(forms.Form):
        title = forms.CharField(max_length=50)
        file = forms.FileField()
    
    from django.http import HttpResponseRedirect # http를 response시킨다!
    from django.shortcuts import render
    from .forms import UploadFileForm # .forms = 
    
    # Imaginary function to handle an uploaded file.
    from somewhere import handle_uploaded_file
    
    def upload_file(req): # 
        if req.method == 'POST': # POST값이 없을 땐 form이라는 변수를 만듦
            form = UploadFileForm(req.POST, req.FILES)
            if form.is_valid():
                handle_uploaded_file(req.FILES['file'])
                return HttpResponseRedirect('/success/url/')
        else:
            form = UploadFileForm()
            return render(req, 'upload.html', {'form': form}) # upload파일에 form을 보냄