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