Django-静态文件导入/url命名及反向解析

一、静态文件导入

js、css、img等都叫做静态文件,那么关于django中静态文件的配置,我们就需要在settings配置文件里面写上这写内容:

# STATIC_URL = '/xxx/' #别名,随便写名字,但是如果你改名字,别忘了前面页面里面如果你是通过/xxx/bootstrap.css的时候,如果这里的别名你改成了/static/的话,你前端页面的路径要改成/static/bootstrap.css。所以我们都是用下面的load static的方式来使用静态文件路径
STATIC_URL = '/static/' #别名

STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'jingtaiwenjian'), #注意别忘了写逗号,第二个参数就是项目中你存放静态文件的文件夹名称
]
配置代码

 

别名可以帮助我们找到文件的全路径

目录:别名也是一种安全机制,浏览器上通过调试台你能够看到的是别名的名字,这样别人就不能知道你静态文件夹的名字了,不然别人就能通过这个文件夹路径进行攻击。

别名可以随便取但是我们一般都写成static

前端页面引入静态文件的写法,因为别名也可能会修改,所以使用路径的时候通过load static来找到别名,通过别名映射路径的方式来获取静态文件

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static "css/logincss.css" %}">
</head>
<body>
<h1>这是主页</h1>
<img src="{% static "img/1.jpg" %}" alt="">
<form action="/login/" method="post">
    {% csrf_token %}
    用户名:<input type="text" name="username">
    <button>提交</button>
</form>
</body>
<script src="{% static "js/loginjs.js" %}"></script>
</html>
静态文件导入

二、命名URL和URL反向解析

给我的url匹配模式起名(别名)为 home,别名不需要改,路径你就可以随便改了,别的地方使用这个路径,就用别名来搞
from app01 import views
urlpatterns = [
    url(r'^login/', views.login,name="index"),   
]

# 给我的url匹配模式起名(别名)为 index,别名不需要改,路径你就可以随便改了,别的地方使用这个路径,就用别名来搞
<!--<form action="/login/" method="post">-->    
<form action="{% url "index" %}" method="post">
    {% csrf_token %}
    用户名:<input type="text" name="username">
    <button>提交</button>
</form>

# 原来提交到哪个页面需要我们填写指定路径

# 现在只需要写别名即可跳转指定页面,匹配规则可以随意更改,别名不需要改
用法

应用于html中:

 应用于视图函数中:

 

posted @ 2019-05-22 16:47  叫我大表哥  阅读(638)  评论(0编辑  收藏  举报