iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 7
0
Modern Web

來個Django Web介面測試吧系列 第 7

來個Django Web介面測試吧:Day07-Django 視圖(view)之3

計畫總是趕不上變化

  • 看來要多些時間與篇幅說明視圖(view)與要撰寫的登錄頁面,所以day07與day08都有可能繼續說明視圖(view)

再設定一個登錄成功頁面

  • sign\templates新增login_ok.html檔案,並新增程式碼:
    https://ithelp.ithome.com.tw/upload/images/20190908/20102269Dxc7ZL4fUh.jpg

    • 程式碼如下:
    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title>這是第幾天鐵人賽</title>
      </head>
      <body>
        <h1>登錄成功了,這是鐵人賽第七天製作的</h1>
      </body>
    </html>
    
  • sign\url.py新增一路徑程式碼:

    • 程式碼如下:
    path('login_page/login_ok/', views.login_ok, name='login_ok'),
    
    • 如下圖修改:
      https://ithelp.ithome.com.tw/upload/images/20190908/2010226934QJzF46nf.jpg
  • sign\view.py修改與新增程式碼:

    • 修改如下圖:
      https://ithelp.ithome.com.tw/upload/images/20190908/20102269qBWWHTAjAI.jpg
    • 程式碼如下:
      from django.shortcuts import render
      from django.http import HttpResponse, HttpResponseRedirect
      
      # crate your views here.
      def index(request):
          return render(request,"index.html")
      
      def login_page(request):
          if request.method == 'POST':
              id = request.POST.get('id','')
              password = request.POST.get('password','')
              if id == 'admin' and password == '12345678':
                  return HttpResponseRedirect('login_ok/')
              else:
                  return render(request,"index.html",{'error':'帳號或密碼輸入錯誤'})
      
      def login_ok(request):    
          return render(request,'login_ok.html')
      

Django 總路由的設定

https://ithelp.ithome.com.tw/upload/images/20190908/20102269RVvKNcNSas.jpg

  • 上圖路徑1:設定總路由,程式碼path('sign/', include('sign.urls')),中的sign對應網頁路徑的http://127.0.0.1:8000/sign/
  • 上圖路徑2:設定總路由,程式碼path('sign/', include('sign.urls')),中的include('sign.urls')對應sign資料夾底下的url.py中的路徑,所以可以想像include('sign.urls')是插入sign資料夾底下的路由路徑。

Django 應用程式(app)路由設定

https://ithelp.ithome.com.tw/upload/images/20190908/20102269Ou5FRbnlES.jpg

  • 這邊的路徑都是127.0.0.1/sign/底下的,
    • 第一個是:127.0.0.1/sign/
    • 第二個是:127.0.0.1/sign/login_page
      https://ithelp.ithome.com.tw/upload/images/20190909/20102269myw156ARDv.jpg
    • 第三個是:127.0.0.1/sign/login_page/login_ok/
      https://ithelp.ithome.com.tw/upload/images/20190909/20102269ssDRN6vc1j.jpg
  • 剩下的看圖說故事嚕

上一篇
來個Django Web介面測試吧:Day06-Django 視圖(view)之2
下一篇
來個Django Web介面測試吧:Day08-Django 視圖(view)之4
系列文
來個Django Web介面測試吧30

尚未有邦友留言

立即登入留言