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