python學習之--Django--Get and Post

來源:互聯網
上載者:User

標籤:django   python   post and get   

1.

首先建立一個登陸介面 login.html

<span style="font-family:KaiTi_GB2312;font-size:12px;">{% extends "base.html" %}{% block mainbody %}<form action="/app1/login/" method="post">{% csrf_token %}username:<input type="text" name="username"> <br>passowrd:<input type="password" name="password"> <br><input type="submit" value="Submit"></form>{{ username }}  <br>{{ password }} <br>{% endblock %}</span>
在 views.py中添加

<span style="font-family:KaiTi_GB2312;font-size:12px;">def login_page(request):return render(request, 'login.html')</span>

在urls.py中添加

<span style="font-family:KaiTi_GB2312;font-size:12px;">url(r'^login_page/', 'app1.views.login_page'),</span>

這樣就可以通過localhost:8000/app1/login_page/

訪問登陸介面

接著編寫login函數用來處理登陸動作,在urls.py上配置路徑

<span style="font-family:KaiTi_GB2312;font-size:12px;">def login(request):context = {}context.update(csrf(request))if request.POST:username = request.POST['username']password = request.POST['password']context['username'] = usernamecontext['password'] = passwordif username=='viease' and password=='123456':return render(request, 'login.html', context)else:student_list = Student.objects.all()return render(request, 'template.html', { 'student_list' : student_list})</span>

成功登陸會顯示如下:

不然跳轉到template.html


Get方式,修改method為get 

去掉

 {% csrf_token %}

from django.core.context_processors import csrf

 context = {}

context.update(csrf(request))


首先第一個問題為什麼post方法需要添加 csrf ?

是Django跨站偽造請求的保護措施。

第二個問題get和post的區別是什嗎?

Http定義了與伺服器互動的不同方法,最基本的方法有4種:GET,POST,PUT,DELETE。URL全稱是資源描述符,可以認為:一個URL地址,它用於描述一個網路上的資源,而HTTP中的GET,POST,PUT,DELETE就對應著對這個資源的查, 改, 增, 刪。所以GET一般用於擷取/查詢資源資訊,而POST一般用於更新資源資訊。GET方法是通過改寫URL的方式實現的。GET的資料利用URL?變數名=變數值的方法傳輸。可以用來用於傳輸一些不重要的資料。POST方法用於從用戶端向伺服器提交資料。使用POST方法時,URL不再被改寫。資料位元於http請求的主體。









python學習之--Django--Get and Post

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.