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
{#
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")
页面显示: