django 的參數的傳遞


參數的傳遞:

a:一種在是動態路由中傳遞多個參數。

b:一種通過get請求傳遞多個參數。

c:一種通過form表單形式提交給后台數據。

d:通過觸發相應的事件來觸發 ajax請求,給后端傳輸參數。

通過get請求往后端傳遞參數:

通過?參數名字=value&參數名字=value 來傳遞多個參數。django后台不需要進行參數的添加的,只需要通過request.GET.get(‘參數名字’)來獲取傳遞的參數。

code:

1 def div_page(request): 2 page_num=request.GET.get('page') 3 content=request.GET.get('content') 4  print(content) 5  print(page_num) 6 return HttpResponse(int(page_num))

url:

1 http://127.0.0.1:8000/page/?page=5&content=3

 

這種方式的傳遞參數,后端直接GET獲取,不需要在函數中定義額外的參數。較為靈活。

通過動態路由方式給后台傳遞參數,但是后端視圖中的views.py定義的函數中參數必須要有相應的參數接收,如果參數不全或者多,都會導致函數的報錯。相應的urls.py文件也要做相應的修改的。

code:

1 urlpatterns = [
2     url(r'^admin/', admin.site.urls),
3     url(r'^test/', views.test),
4     url(r'^page/(\d+)$', views.div_page),
5 ]
6 
7 def div_page(request,page):
8     print(page)
9     return HttpResponse(int(page))

 

url:

1 http://127.0.0.1:8000/page/2

 

傳遞多個參數:

1 urlpatterns = [
2     url(r'^admin/', admin.site.urls),
3     url(r'^test/', views.test),
4     url(r'^page/(\d+)/(\d+)/', views.div_page),
5 ]
6 def div_page(request,page,page1):
7     print(page,page1)
8     return HttpResponse(page+page1)

 

url:

1 urlpatterns = [
2     url(r'^admin/', admin.site.urls),
3     url(r'^test/', views.test),
4     url(r'^page/(\d+)/(\d+)/', views.div_page),
5 ]

 

需要注意的是:$的符號。這種方式保證在每次get的請求的時候都會傳輸參數。如果用 ?來攜帶的話,並不能保證請求必帶參數,需要在邏輯上做判斷。

form表單提交數據較為常見,通過POST給后端發送數據。在提交數據的時候,會刷新頁面,比較不友好。

ajax請求的提交數據:可以說是"偷偷的給后端發送請求數據。"方式可以是get、也可以是post.需要注意的是:后端返回的數據必須為字符串形式。才能被ajax接收。這種方式的提交數據較為常見!也是我們經常使用的方式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM