ルーティングシステム
ジャンゴでは、論理機能のURIとの対応関係は、私たちは、ルーティングシステムを呼び出します
擬似静的
擬似静的静的ファイルに対しては、例えば、あるhttps://www.cnblogs.com/hesujian/p/11165818.html
彼は実際に静的なHTMLページではありませんので、私たちはただ、静的なHTMLページを装った、擬似静的それを呼び出します
擬似静的なメリット:
1、外観(疑問符伝統的なステッチが乱雑に見えます)
2、SEO(検索エンジン最適化)、検索エンジンは、静的なページがインデックス好むので、私たちは、擬似静的チャンスのコレクションを高めるために作られています
擬似スタティックルーティングおよび分布を達成
今、私たちが所望の値を取得する方法サーバー、サーバーにアクセスするための擬似静的なURLを使用していること
例えば、我々は持ってます:http://127.0.0.1:8000 / up_student / ID = 12&名前=華を?
偽装します。http://127.0.0.1:8000 / up_student / 12 /華/
あなたは、データのルーティング配信を受けるために技術を使用する必要があります背景
ルートバックグラウンドにおける分布関数、およびURIが一致し、陽性発現を介してパケット、パケットの要求値、およびその後処置さを広めます
コード:
#1、直接順次伝統的な値によって受信されたパケットを介し DEF(要求、ID、名前)up_student: プリント(ID、名前) urlpatterns = [ URL(R&LT '^ up_student /(\ W +)/(\ W +)'、up_student ) ] を順次無し#2、我々はよく知られていることができるパケットは、値渡すことができ :DEFのup_student(要求、名前、ID) プリント(ID、名前) urlpatternsの= [ URL(R&LT「^ up_student /(P <IDを? > \ W +)/(?P <名> \ Wの+)」、up_student) ]
正規ルート
何を最後に1、$記号、
URL(R「^テスト/」、テスト)、 中/訪問中にアクセスすることができます。#何増加の背後にある URL(R「^テスト/ $」、テスト) #は/ができます。これを終了する必要があります
2、ワイルド
URL(R '^'、テスト)
ワイルドが返され、すべてのURLと一致するページ(404)として使用することができるとき不一致URL
だから我々は、最終的なワイルドカードを入れて持っているか、彼にはアクセスできなく元のURLにつながる、最初のワイルドカードにマッチします
逆のルート
逆のルートは、私たちのURIの変更、主な変更点は、すべてのリンクが適切なを持っているフォームの形態であります
すべての変更URIの変更を追跡するためのアクションの一つの形をできるように、逆のルートを持っています
背景URL:name属性を設定します
URL(R '^ sdsdsdsad /'、テスト、名前= "XXX")
遠位フォーム形式:表面変化の名でその後の変化へのアクション
<フォームアクション= "{%URL "ログイン" %}" METHOD = "POST">
ジャンゴアプリを作成します
私たちは、別のファイルにロジック機能とURIの異なる種類を入れて、ファイルがアプリになり
作成するには、2つの方法があります。
1、pycharmが作成したプロジェクトを作成し、あなただけ作成することができます
2、コマンドラインが作成され、次のプロジェクトの入力へのパスを入力します。
python manage.py startappのカスタム名
私たちは、次のドキュメントと上のアプリのファイルを作成しました
admin.py:書き込み、ジャンゴ管理者関連の設定
アプリ:アプリの設定
モデル:モデルのデータシート
ビュー:ビュー機能
テスト:テスト
ルーティングパケット
#なければならない最初の導入方法としては、 インポートとしてdjango.conf.urlsから #合計をurls.py URL(R&LT 'app01 ^ /'( 'app01.urls'を含む)) #分urls.pyアプリ #インポートビュー機能を app01インポートからのビューの URL( '^テスト'、views.test)
ファンクションビュー
いくつかの論理機能を記述するための図の主な機能は、関数は、2つの主要なビューに分割されています
1、FBV関数ベースのビュー書き込み機能処理ロジック
ロジックを処理することにより2、CBVクラスベースのビュー
CBVで
変更を行う必要性のURL
URL(R '^ログイン/'、views.Login.as_view())、
処理ロジッククラスには、このクラスのビューを継承する必要があります
インポートdjango.viewsビュー クラスログイン(ビュー): デフディスパッチ(セルフ、要求、* argsを、** kwargsから): スーパー(ログイン、セルフ).dispatch(要求、* argsを、** kwargsから) #カスタム・ロジック・ デフ:(セルフ)を取得 渡し (セルフ)DEF投稿: 渡し get関数を入力して送信します場合は#を、ポストポスト関数入力に提出 ディスパッチ関数を取る#底を、彼はあなたの提出に応じて、異なる機能に配布されます #我々はまた、などのIPを制限するなど、いくつかの他の制限を、追加し、このメソッドをオーバーライドすることができます
提出
「」「 いくつかの一般的な提出 を取得:要求データ のポストは:データを提出 削除:削除したデータは 入れ:更新データ パッチを:データの更新部分を 。」「」