您好,欢迎来到站长目录(28sn.com)!


python django学习总结(二)Web框架Django,如何返回静态HTML页面

来源:本站原创 浏览:1747次 时间:2019-11-09

Web框架Django,如何返回静态HTML页面,遵守这三个步骤:

1.准备前端html文件(在templates里面建立html)


2.在views.py中处理html文件的返回

from django.http import HttpResponse

def student(request):

    """返回静态html文件"""

    return render(request,'student.html')


3.在urls.py中实现路由

from app01 import views

urlpatterns = [

    path('admin/', admin.site.urls),

    path('',views.index),

    #假如我们想用户输入http://127.0.0.1:8000/student/来打开我们制作的html界面,那操作如下:

    path('student/', views.student),

]

#备注 student后面斜杠不要掉,还有index啊 student这样的方法,在此处都不要方法的括号

5.Web框架Django,如何返回静态HTML页面.png


返回静态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')]

        ,


6.返回静态html扩展问题1:如果我们自己新建一个文件夹譬如叫abc 我们在abc文件夹里面新建html  不在templates里面建.png



返回静态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>

返回静态html扩展问题2:在django中,html页面中所依赖的css、js、images、font等等静态文件,默认情况下都是阻止访问的,需要进行单独配置.png



静态文件,默认情况下都是阻止访问的,需要进行单独的配置!单独配置过程如下图返回静态html扩展问题2的解决办法.png


下面这些是演示在settings.py文件下的 STATIC_URL = '/static/' 含义是“静态文件的访问url”涉及的理解和优化问题




返回静态html扩展问题2的解决办法完美解决版本:django提供了一个引用手段,利用在html开头.png

返回静态html扩展问题2的解决办法-如何访问这些静态文件再次验证路径是根据那个来写的.png

返回静态html扩展问题2的解决办法完美解决版本.png

推荐站点

  • 我爱发烧音乐我爱发烧音乐

    我爱发烧音乐囊括了从流行音乐到古典音乐多个类型的音乐作品,专栏推荐最新的音乐,提供音乐排名榜单!可供免费线上收听音乐,歌曲流畅,音效极佳! 网站提供的钢琴以及二胡专栏,可供收听者,陶冶情操,改善心情,是难得的轻音乐典藏!

    www.520fs.com
  • 世纪音乐网世纪音乐网

    世纪音乐网是专业的在线音乐试听MP3下载网站。歌曲总计30余万首,收录了网上最新歌曲和流行音乐,DJ舞曲,非主流音乐,经典老歌,劲舞团歌曲,搞笑歌曲,儿童歌曲,英文歌曲等。是您上网听歌的最佳网站。

    www.ssjj.com
  • 怒江大峡谷网怒江大峡谷网

    怒江大峡谷网内容包括:新闻、要闻、怒江报、视频、文化、民俗、人文、音乐、政务、公告、政策等地方信息。

    www.nujiang.cn
  • 杭州网杭州网

      杭州网是杭州地区唯一的新闻门户网站,由中共杭州市委宣传部、杭州日报报业集团和杭州广播电视集团共同组建的杭州网络传媒有限公司运营。

    www.hangzhou.com.cn
  • 深圳在线深圳在线

      深圳在线 www.szol.net是深圳本地最大、最早的地方生活资讯网站之一,网站名“深圳在线www.szol.net”由南方报业传媒集团编辑委员会总编辑、南方日报社总编辑、南方都市报总编辑、南方书画院名誉院长王春芙亲笔题名,深圳在线www.szol.net团队与深圳热线www.szonline.net、奥一网www.oeeee.com都源于全国最早成立于1996年的知名网络公司——深圳万用网。

    www.szol.net

鄂公网安备 42062502000001号