Web框架Django,如何返回静态HTML页面,遵照这三个步骤:
css
1.准备前端html文件(在templates里面创建html)html
2.在views.py中处理html文件的返回前端
from django.http import HttpResponse
django
def student(request):app
"""返回静态html文件"""框架
return render(request,'student.html')ide
3.在urls.py中实现路由优化
from app01 import views
url
urlpatterns = [spa
path('admin/', admin.site.urls),
path('',views.index),
#假如咱们想用户输入http://127.0.0.1:8000/student/来打开咱们制做的html界面,那操做以下:
path('student/', views.student),
]
#备注 student后面斜杠不要掉,还有index啊 student这样的方法,在此处都不要方法的括号
返回静态html扩展问题1:若是咱们本身新建一个文件夹譬如叫abc 咱们在abc文件夹里面新建html 不在templates里面建
那么程序怎么写 让返回abc文件夹里面的静态HTML页面呢?【这个叫作templates文件夹设定】
步骤1.pycharm内右键文件夹 置为templates文件夹 (这步骤弄了,敲几个前面字母能够自动pycharm补全!我去了这个步骤,感受无关紧要,关键是要有步骤2)
步骤2.找到settings.py文件,将abc类比以前的templates文件夹同样加入到合法DIRS里,以下
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'),os.path.join(BASE_DIR, 'abc')]
,
返回静态html扩展问题2:在django中,html页面中所依赖的css、js、images、font等等静态文件,默认状况下都是阻止访问的,须要进
行单独的配置!!!!
步骤1.创建静态文件的文件夹 一般单独创建一个文件夹 习惯叫static,由于静态文件有css、js、images、font等等静态文件,
因此咱们还会在static文件夹下再分细类创建css、js、images、font等文件夹
步骤2.配置文件夹为项目的合法静态文件夹-----在settings.py文件用到的关键字STATICFILES_DIRS!!!
如:#配置静态文件夹,能够用序列或者元组,下面我用的是元组!
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
步骤3.如何访问这些静态文件
在settings.py文件下的 STATIC_URL = '/static/' 含义是“静态文件的访问url”
譬如项目/static/css/student.css 因此那么html代码那里引用这个css是写 href="/static/css/student.css"
又譬如譬如项目/static/images/1.jpg 外面人打开这个1.jpg能够经过http://127.0.0.1:8000/static/images/1.jpg打开!!
(步骤3注意的是href="/static/css/student.css"或者http://127.0.0.1:8000/static/images/1.jpg的static不是那个咱们新建文件夹的名字,而是
这个STATIC_URL = '/static/'里面的字 若是你改成STATIC_URL = '/static11/'!那么访问就是用href="/static11/css/student.css"和http://127.0.0.1:8000/static11/images/1.jpg )
关于步骤3我改了STATIC_URL = '/static/'的名字 可能若是你程序不少地方是直接使用这个/static/名字进行引用静态文件的,致使你程序里面
每一处都要去修改这个名字,其实django提供了一个引用手段,利用在html开头加入{% load staticfiles %} 以后程序里面能够用{% static 'images/2.jpg' %}代替!避免产生我说的这种麻烦!
实打实用真名的例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>老师文件夹~!!!!!!!!!!!!</h1>
<img src="/static/images/2.jpg" width="200" height="200" />
</body>
</html>
经过引用代号方式的例子,那么无论STATIC_URL = '/static/'的名字变为何名字 程序都不须要作改动了:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>老师文件夹~!!!!!!!!!!!!</h1>
<img src="{% static 'images/2.jpg' %}" width="200" height="200" />
</body>
</html>
静态文件,默认状况下都是阻止访问的,须要进行单独的配置!单独配置过程以下图
下面这些是演示在settings.py文件下的 STATIC_URL = '/static/' 含义是“静态文件的访问url”涉及的理解和优化问题