名も無き有名なグループのグループ化
不明グループ
定期的なブラケットは、ブラケットなどのコンテンツに一致する位置パラメータテスト機能(リクエスト、引数)の背後にあるビューに渡されます
例えば:
url(r'^test/(\d+)/',views.test)
有名なグループ化
定期的なプレーは、個々の名前を与えることです
ブラケットは、コンテンツにマッチするキーパラメータテスト機能(リクエスト、月= 123)の背後にあるビューへ
今月は、他の値であってもよいです
例えば:
url(r'^test/(?P<month>\d+)/',views.test)
注意を払います
よく知られており、パケットを使用して、未知のパケットを組み合わせることはできないが、未知および既知のパケットが単独で使用される場合は、複数回使用することができ、複数のパケットがあります
例えば:
url(r'^test/(\d+)/(\d+)/',views.test)
url(r'^test/(?P<month>\d+)/(?P<month>\d+)/',views.test)
逆引き参照
一つのこと、直接対応するURLにアクセスすることができ、動的解析結果
どのようにそれを行うには?
:ルーティング機能は、エイリアス関係からビューに対応し、解析され、対応するURLに応じて動的エイリアスを追従することが可能です
例えば:
url(r^test_add/',testadd)
前の決意
{%url 'xxx' %}
バックエンドの分析
インポートモジュール
import revers
url = revers('xxx')
不明なパケット逆引き
url(r'^test_addsajdsjkahdkjasjkdh/(\d+)/', views.testadd,name='xxx')
前の決意
在模版login.html文件中,反向解析的使用
<a href="{% url 'xxx' 1 %}">222</a>
バックエンドの分析
在views.py中,反向解析的使用:
url = reverse('xx',args=(1,))
逆引き有名なグループ化
url(r'^test_addsajdsjkahdkjasjkdh/(?P<year>\d+)/', views.testadd,name='xxx')
前の決意
<a href="{% url 'xxx' 1 %}">222</a>
<a href="{% url 'xxx' year=1 %}">222</a>
バックエンドの分析
url = reverse('xxx',args=(1,))
ルートの配布
例えば:Djangoは100アプリを持っている、それはあまりにも長い間、コード内のURL
APP内部Djangoは、独自のテンプレートフォルダ、静的フォルダ、およびファイルを持つことができますurls.py
urls.pyの名の下にプロジェクトの総ルートルーティング機能との対応関係を表示していないのではなく、トランジット駅を作るために、内の別のアプリにリクエストを分配するための唯一の責任がある、アプリ内のビュー機能との対応を行います
実行します。
from django.conf.urls import url,include
url(r'^app01/',include(app01_urls)),
url(r'^app02/',include(app02_urls))
名前空間
私たちのプロジェクトは、複数のアプリケーションを作成するには、各アプリの下で、別名パスの試合でプレーしているときに、重複するエイリアスがある場合、それは、逆引き報道に表示されますが、私たちは、名前が重複しないようにしよう
総ルート
url(r'^app01/',include('app01.urls',namespace='app01'))
url(r'^app02/',include('app02.urls',namespace='app02'))
各アプリのルーティング
print(reverse('app01:index'))
print(reverse('app02:index'))
擬似静的
静的のふり動的なWebページが、目的はSEO百度や他の検索エンジンのクエリの優先度を向上させることです
検索エンジンのサイトに含まれる場合、それはあなたの手が静的リソースファイルのように見える打撃を優先させて頂きます
あなたは、擬似静的な最適化を使用する方法に関係なく乾燥しているが、人民元の選手
ハッハッハ!!!
仮想環境
通常のプロジェクトのために保存、プロジェクトだけではなく、より少ないをインストールするために使用され、インストールされません
異なるプロジェクトは、対応する特別なインタプリタ環境を持っています
それぞれの仮想環境を作成し、同様にPythonインタプリタを再ダウンロードします
異なるプロジェクトの実際の機能は、と呼ばれる投稿がありrequestments.txt
、ファイルはプロジェクトの1リストされているモジュール名とバージョン番号を使用する必要があり
EG:
Djangoに= 1.11.11
nginxの
内部コマンドから直接ファイルをダウンロードするために行くだろう、後者モジュールの全てと対応するバージョン
仮想環境があまりにも多くの月を作成しない、ハードディスクリソース操作を占めるようになります
違いDjango1バージョンとバージョンDjango2
Django1.x
違い:
urls.py
1.1は2.xは、パスを使用して、URLで使用されています
最初の引数2.xでは、正規表現、あなたはどのような試合書いたもののいくつかをサポートしていません。
2.xのURL 1.xのように、このre_pathは、re_pathもあります
両者の差:
どのような5種類のコンバータ(パスコンバータ)django2.xのデフォルトサポート
str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
int,匹配正整数,包含0。
slug,匹配字母、数字以及横杠、下划线组成的字符串。
uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。 path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)
例えば
path('articles/<int:year>/<int:month>/<slug:other>/', views.article_detail)
# 针对路径http://127.0.0.1:8000/articles/2009/123/hello/,path会匹配出参数year=2009,month=123,other='hello'传递给函数article_detail