Django路由系统---Django重点之url别名

本文详细介绍了Django框架中URL别名的使用方法,通过设置name参数实现前后端路径分离,提高开发效率。同时,讲解了如何配置静态资源路径,包括设置STATICFILES_DIRS和STATIC_URL,确保静态资源正确加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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")

页面显示:

image

转载于:https://www.cnblogs.com/ftl1012/p/9398180.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值