Django路由系統---Django重點之url別名

django重點之url別名[參數名必須是name,格式是name="XXX]html

不論後臺路徑如何進行修改路徑,前臺訪問的路徑不變,永遠是alias, 這樣方便開發 sql

前臺根據 {{ url "alias"}} 去views.py中查看name="alias"的urldjango

settigs.py:增長STATICFILES_DIRS靜態資源路徑配置,名稱爲建立的文件夾名稱函數

'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 設置templates的路徑爲Django之前版本
# 'DIRS': [],      # 註釋掉該行,此爲Django 2.0.1最新版本
# 'django.middleware.csrf.CsrfViewMiddleware',
         ...省略默認配置
STATIC_URL = '/static/'
TEMPLATE_DIRS = (os.path.join(BASE_DIR,  'templates'),)  # 原配置
# 靜態資源文件
STATICFILES_DIRS = (os.path.join(BASE_DIR, "statics"),)   # 現添加的配置,這裏是元組,注意逗號

templates/aliax.htmlpost

<!DOCTYPE html>
<html lang="en">
<head> <meta charset="UTF-8"></head>
<body>
{#<form action="/func_alias/"  method="post">#} {# 這個是最開始的路徑,正常路徑 #}
{#<form action="{% url aliax %}" method="post">    {# 報錯,NoReverseMatch at /func_alias/ #}
<form action="{% url 'alias' %}" method="post">   {# 注意,action外部沒有引號,大括號裏面url 引號XXX #}
    <input type="text" name="user">      {#    注意,這裏只能用name,不能用id哈  #}
    <input type="password" name="pass">  {#    注意,這裏只能用name,不能用id哈  #}
    <input type="submit" value="submit">
</form>
</body>
</html>

mysite2/urls.pyurl

from django.contrib import admin
from django.urls import path
from blog import views
from django.conf.urls import url
urlpatterns = [
     # URL第四個參數別名操做,name="XXXX",name裏面的值表明的是咱們的URL路徑
    url(r'^func_alias', views.func_alias, name="alias"), # 將路徑名跟函數進行映射
]

views.pycode

from django.shortcuts import render, HttpResponse
import datetime 
# URL之別名操做
def func_alias(request):
    if request.method == "POST":
        username = request.POST.get("user")
        password = request.POST.get("pass")
        if username == "hhh" and password == "123":
            print("username: %s  password: %s" % (username, password))
            return HttpResponse("登陸成功".encode("utf8"))
    return render(request, "alias.html")

頁面顯示: orm

image

相關文章
相關標籤/搜索