Django中重定向頁面的時候使用名稱空間

random_lee發表於2019-01-15

urls.py

from django.urls import path
from . import views

app_name=`front`

urlpatterns = [
    path(``,views.index,name=`index`),
    path(`signin/`,views.login,name=`login`)
]


```
    path(`signin/`,views.login,name=`login`)
    定義一個name 在views中跳轉的時候可以使用reverse(`login`)來自動轉換成signin 避免有更改的時候程式碼的修改
    這種情況下的signin可以任意修改不影響跳轉的邏輯
```

  views.py

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse
from django.shortcuts import redirect,reverse

def index(request):
    username = request.GET.get(`username`)
    if username:
        return HttpResponse(`前臺首頁`)
    else:
        login_url=reverse(`front:login`)
        return redirect(login_url)

def login(request):
    return HttpResponse(`前臺登入頁面`)

  示例程式碼:

url_name_demo.zip

相關文章