djngao進級整理ノート

4482 ワード

Modelクラス
 
マネージャのカスタム書き換え
マネージャは、オブジェクトのデータをデータベースとインタラクティブにするモデルクラスのプロパティです.
models.Manager
カスタム管理の設定が完了したら、カスタム管理オブジェクトを設定する必要があります.
 
マッピングの重要性
クラスモデルとデータテーブル間のマッピング
 
クエリーの比較演算子
集約関数Aggregate
クエリー(フィールドと定数を比較する)
Fオブジェクト(2つの列を比較)とQ対像(キーワードパラメータのセットまたは論理演算子として理解)
 
 
Modelクラスファイルでは、対応するデータベースにデータテーブルがすでに存在する場合は、移行する必要はありません.
 
viewクラス
位置パラメータs
キーワードパラメータ
urlパスの書き込みでは、includeのパラメータにはnamespaceがあり、urlパラメータにはnameという名前があります.
 
1つのキーは1つの値に対応し、1つのキーは複数の値に対応します.
GET伝参
ページジャンプの場合、同じサイトをジャンプしているので、直接''/パス名'('/')と書けばいいです('/')サイトのルートディレクトリの下のレベル(ルートディレクトリ:ドメイン名+ポート)を表し、'/''と書かないで現在のディレクトリの下)を書けばいいので、前のドメイン名を書く必要はありません
POSTパス
フォームコミットでは、inputのnameをキーと呼び、フォームに値を記入します(name='uname'unameはキーで、記入したデータは値です)
キーによる転送と受信
フォームのコミット:csrfテンプレート言語でcsrfを使用するcsrf
 
 
なぜクッキーとセッションがあるの?
再ログイン時の問題を解決するためには、データ情報の状態保持が必要であるため、クッキーがあり、セッションは安全のため、クッキーに格納されているセッションは、サーバへの再アクセス時に認識できるようになっている.
クッキーはサーバへのアクセス時に生成され、ブラウザに置かれたテキストの一部をキー値ペアで保存し、サーバを再要求するとrequestのヘッダが持参され、コンソールに表示されます.最初のアクセスは、戻りオブジェクトのヘッダに表示され、要求ヘッダに表示されます.デフォルトの2週間の期限切れ
 
リダイレクト
jsonresponse
response=HttpRespose()
requset.COOKIES(リストを取得)request要求COOKIE
response.write(cookie['キー'])
response.set_クッキー('キー','値',期限切れ)responseはオブジェクト設定クッキーを返します
def index(request):
    response = HttpResponse()
    cookie = request.COOKIES
    if cookie.get('h1'):
         response.write(cookie['h1'])
    return response
​
def cookieTest(request):
    response=HttpResponse()
    cookie=request.COOKIES
    if cookie.get('t1'):
        response.write(cookie['t1'])
    response.set_cookie('t1','bcd')
    return response

クッキーはドメインをまたぐことができません.安全のためです.
 
httpプロトコルは無状態であり、異なるウェブサイトは他のウェブサイトで提出された要求を知らない.状態を維持したい場合は、情報はクッキーに保存したり、seesionが存在したりすることができる.
Cookiはターミナルブラウザに存在し、sessionはサーバ側に存在する.
セッション、クッキーはすべて辞書オブジェクトで、セッションデータはデータベースに保存されます.
 
思考点:データがどこから来たのか(例:フォーム提出(getとpost)、request.get(post)データ、データ格納、sessionとcookie、sessionとcookieはデータベースとブラウザに格納されます)sessionのデフォルトはdjjangoにデータベースに存在し、格納場所を変更できます.
ライブラリとテーブルに対応するデータベースがすでに存在する場合は、移行する必要はありません.
 
セッションを使用して、settingでINSTALL_を構成します.APPS、djangoはすでにデフォルト設定されており、MIDDLEWARE_CLASSESもセッションミドルウェアを構成しています
def session1 (request):
    uname = request.session.get('myname',None)
​
    context = {
        'uname':uname,
​
    }
    return render(request, 'session1.html', context)
​
​
def session2(request):
    return render(request, 'session2.html')
​
​
def session2_handle(request):
    uname = request.POST['uname']
​
    request.session['myname'] = uname
​
    return redirect('/session1/')
​
def session3(request):
    del request.session['myname']
    return redirect('/session1/')


    

​
      :{{uname}}
    
   ログイン
    ​ ​ ​        Title  
     
     
 
ブラウザで要求されたときは値で、返されたのはオブジェクトです.データベースでクエリーするときにクエリーされるのはオブジェクトで、返されるのもオブジェクトです.コンテキストcontextを使用すると、キーが検出されます.
 
 
 
 
##
Templateテンプレート
##
djangoテンプレート言語は、DTLを略記し、djangoでのみそう呼ばれます.
DTL,djangoテンプレート言語:1,変数{{}}2,ラベル{%}3,フィルタ|,4注記{##}または
{%comment %}
{% endcomment%}
 
逆解析({%url'namespace:name''パラメータ'%})、逆解析はurlを動的に生成する
 
テンプレート継承:blockテンプレート言語{%block名前%}{%endblock%}
{%extends html名前%}{%blockからの名前を継承%}{%endblockからの名前%}
 
ポイント:ビューでreturnはオブジェクトを返します.テンプレートをロードしない場合はHttpResponse、テンプレートを使用する場合はrenderでレンダリングをロードします.
 
htmlエスケープ:escape(デフォルトエスケープ)、safe(ラベルを保持)、フィルタリングが必要、{{data|escape}}
{%autoescape off%} {%endautoescape off%}
 
CSRFは、POST時のみCSRF検証{csrf_token}が使用されるように、局間で偽造を要求する.
 
検証コードの生成:htmlではなく検証コードピクチャが返されます.
文書の説明に従う
1、キャンバスの作成
2フォントオブジェクトの作成
3、ブラシの作成
4,テキストコンテンツの作成
5個々の描画文字
 
 
サードパーティのapiドキュメントの説明を把握
?MIMEタイプ:データ型のこと
セッションのストレージと抽出
セッションの抽出、セッションの設定:request.seesion['キー']=値、sessi値=requestを抽出する.session['キー']