Django路由系统---Django重点之url别名
django重点之url别名[参数名必须是name,格式是name="XXX]
不论后台路径如何进行修改路径,前台访问的路径不变,永远是alias, 这样方便开发
前台根据 {{ url "alias"}} 去views.py中查看name="alias"的url
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.html
<!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.py
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.py
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")
页面显示:
作者:小a玖拾柒
-------------------------------------------
个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~
本文版权归作者【小a玖拾柒】和【博客园】共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!