pythonのWebフレームワーク:Djangoルーティングシステムおよびテンプレートインポート
12322 ワード
Djangoのルーティングシステム
一つのリクエストが来たとき
pathメソッド、およびデフォルトパラメータ
デフォルトのパラメータはルーティング、ビュー、kwargs、nameのオプションパラメータを構成する必要があります.
正規表現re_pathは、日付など、必要なフォーマットを構成できます.
urlでパラメータをキャプチャし、パラメータの伝達をpathで構成します.
パスコンバータ-パスコンバータ
django検索url検索は何ですか?
その他のURLconfsを含んで、プロジェクトの中で(app応用)の下級urlsの方法を追加して、include
追加パラメータの転送
kwargsのkeyがurlキャプチャのkeyと一致する場合、kwargsに準じる
urlネーミング、リダイレクト
HTMLテンプレートのインポート
setting.pyでのテンプレートのインポートの設定
レンダリングviewsインポート
ここで終わります.ありがとうございます.
転載先:https://www.cnblogs.com/hua888/p/10401721.html
一つのリクエストが来たとき
1、 urls.py( URLconf ) , ;
2、 URELcof , urlpatterns ;
3、urlpatterns (django.urls.path, dango.urls.re_path ) ;
4、 url , ;
5、 ,django ;
6、 , , 404
pathメソッド、およびデフォルトパラメータ
デフォルトのパラメータはルーティング、ビュー、kwargs、nameのオプションパラメータを構成する必要があります.
1 - path(route, view, kwargs=None, name=None)
2 - route url
3 - view
4 - kwargs , view,
5 - name url
正規表現re_pathは、日付など、必要なフォーマットを構成できます.
1 - re_path(route, view, kwargs=None, name=None)
2
3 python : (?pattern)
4
5 :
6 re_path(r'students/(?P\d{4})/(?P[0-9]|1[0-2]) ', views.students)
urlでパラメータをキャプチャし、パラメータの伝達をpathで構成します.
1 - url
2 url url
3 path('index//', view.index)
4 - : -
5
6 views.py ,
7 def detail(request, key1, key2)
8
9
10 ** ' '
11
12 :127.0.0.1:8000/index/'key1'/'key2'/
パスコンバータ-パスコンバータ
:
- str '/'
- int
- slug ASCII ,
- uuid id
- path
:
path('index//', view.inedex)
django検索url検索は何ですか?
, , (get, post)
url get,post
その他のURLconfsを含んで、プロジェクトの中で(app応用)の下級urlsの方法を追加して、include
1 include
2 from django.urls import include
3
4 path('teacher/', include('teacher.urls'))
5
6 , ,teacher app , views , 。 。
追加パラメータの転送
kwargsのkeyがurlキャプチャのkeyと一致する場合、kwargsに準じる
1 path,re_path , kwargs
2
3 kwargs={key:value}
4
5 ***** kwargs key url key , kwargs *****
6 urls include , app urls
7
8 include
9 path('teacher/', include('teacher.urls'),kwargs={'key':'value'}
urlネーミング、リダイレクト
1 from django.shortcuts import render, redirect, reverse
2 views.py
3
4
5 : return redirect('http://www.baidu.com')
6
7 return redirect('/teacher/index/')
8
9 urls path name
10 path('home/', views.index, name='index')
11
12
13 views
14
15 url = reverse('index') reverse ,url path
16 return redirect(url)
1 app_name
2 , , urls
3 app_name = 'teacher'
4 views reverse
5 def login(request):
6 url = reverse('teacher:index')
7
8
9 redirect(url)
HTMLテンプレートのインポート
setting.pyでのテンプレートのインポートの設定
1 TEMPLATES 'DIRS':[os.path.join(BASE_DIR,'templates(html )']
レンダリングviewsインポート
1
2
3
4 from django.template.loader import get_template
5
6 #def index(request):
7 tp = get_template('teacher/index.html') #
8 html = tp.render() # html
9 return HttpResponse(html) html
1 ( : )
2
3 from django.shortcuts import render
4
5 #def index(request):
6 return render(request, 'teacher/index.html')
ここで終わります.ありがとうございます.
転載先:https://www.cnblogs.com/hua888/p/10401721.html