templates路径除了在settings中的templates的DIR[]中申明还有什么别的方法?
已知,django底层根据app注册顺序查找各app文件中的templates文件夹,在其中搜索目标模版文件。
已知,app注册在settings中的INSTAll-APPS里。
已知,现在查看并没有看见app01的注册信息。
综上,手动注册。
如下注册app01。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config',
]
2. 实战一个页面
这个页面本来后端是用springboot做的,但是intellj-Idea过期了,所以用django再做一次
(1)模版结构完全实战
可以放到countapp中,也可以放到主目录下,因为之前配置了路径,所以先放主目录下了。
html页面引入静态插件的格式:
(2)需要注意的点以及源代码
因为我的templates和static都是放在主目录下的,所以第一次在运行的时候发现图片和css都没有显示出来。
所以对主文件中的settings.py进行修改,在STATIC_URL下添加如下代码。
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
然后就可以显示了。
放一下html文件的源代码。
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>个人介绍</title>
<link rel="stylesheet" href="{% static 'style.css' %}">
</head>
<body>
<div id="bigbox">
<div id="banner">
<img src="{% static 'images/banner.png' %}" alt="">
</div>
<nav>
<a class="dangqian" href="">当前访问的ip地址:172.23.196.70</a>
<a>当前ip地址已访问2次</a>
<a>该网站已被访问12次</a>
</nav>
<div id="main">
<div id="main_left">
<h2>关于我</h2>
<img src="{% static 'images/logo.png' %}" alt="">
<p>
<span>姓名</span>:xxx<br>
<span>学号</span>:xxxx<br>
<span>专业</span>:计算机科学与技术<br>
</p>
</div>
<div id="main_right">
<h2>研究项目</h2>
<p style="font-size:20px;color:#BC1717;">
abababa
</p>
<p>
1234
</p>
<p>
1234
<p>
1234
</p>
<p style="font-size:20px;color:#BC1717;">
abababab
</p>
<p>
1234
</p>
<p>
12334
</p>
<p>
12334
</p>
<img src="{% static 'images/p1.png' %}" alt="">
</div>
</div>
<footer>
<p>
页脚。
</p>
</footer>
</div>
</body>
</html>
其实还有另一种解决方法,我看有人的观点就是这个静态文件和模版就应该放在对应的app中,而django的语法里对settings.py中没指定目录的情况下是按照app的注册顺序一个个找的,这个时候需要检查installed_app中有没有我们新建的这个app的名字,没有的话可以按上一篇的方法进行添加。