使用TemplateView直接返回html


from django.views.generic import TemplateView

urlpatterns = [
    path('',TemplateView.as_view(template_name='index.html'),name="index"),
    path('login/',TemplateView.as_view(template_name='login.html'),name="login"),
]

配置static路径

  • 建static和template(自建)目录,并写相关html和css文件
  • settings.py追加静态路径
  • 前端访问观察静态文件是否能得到

[py][mx]django静态文件目录配置

[py][mx]django静态文件目录配置

setttings.py

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

配置这个的作用是好处是, 最终css代码渲染/static/css/base.css, 而url无需配置这个即可让template找到.

前端调用css和js的2种方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
    <link rel="stylesheet" href="/static/css/base.css">
</head>
<body>
</body>
</html>

或者(好处是 static(STATIC_URL = '/static/')是活的, 这个os.path.join(BASE_DIR, "static"),的改变不影响模板staitc, 默认static调用的是os.path.join(BASE_DIR, "static"),)

修改STATIC_URL = '/static/'为STATIC_URL = '/statics/'
[py][mx]django静态文件目录配置
默认里这样写
[py][mx]django静态文件目录配置

不管STATIC_URL = '/statics/'怎么变, 模板都会自动被解析.
[py][mx]django静态文件目录配置

{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
    <link rel="stylesheet" href="{% static 'css/base.css' %}">
</head>
<body>
</body>
</html>

css最终渲染路径(已上两种方法都一样)
[py][mx]django静态文件目录配置

[py][mx]django静态文件目录配置

相关文章:

  • 2021-05-30
  • 2022-02-10
  • 2022-02-10
  • 2022-02-10
猜你喜欢
  • 2021-09-13
  • 2022-12-23
  • 2021-12-09
  • 2022-02-10
  • 2021-11-19
  • 2021-11-19
相关资源
相似解决方案