Django: 静态文件引入框架

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

转自:微点阅读  https://www.weidianyuedu.com

前言

各环境等的使用版本如下:

Linux Mint 18.2 (Ubuntu 16.04);

python版本2.7.12和3.5.2;

Django版本为1.9。

在前一篇文章中我们已经把一个登录的页面显示在网页上了,而且跳转只跳到了原来的页面,这些只是前期简单的建立项目,相当于学一门语言的开篇课,建立helloworld项目。

我们可以看到上一篇的登录页面非常简单(丑),我们想要使用一些开源的框架来美化界面怎么办呢,比如我想使用amazeUI、bootsrap、echarts等等。这就是本文的目的了,创建静态文件,我们可以把一些静态的图片、字体、js、css等文件放进去使用。其次还要实现页面的跳转。

项目目录结构如下(生成的.pyc文件就没有列出):

demo demo __init__.py settings.py urls.py wsgi.py login migrations __init__.py admin.py apps.py __init__.py models.py tests.py views.py static css amazeui.css other.min.css fonts img log02_03.png js plug templates home.html login.html db.sqlite3 manage.py 配置静态文件

配置

在上一次的demo项目里新建一个static文件,然后在static文件夹里面新建img、js、css、plug、fonts文件(你用到多少自己建立)

然后修改第二层demo目录下的setting.py文件:

# Static files (CSS, JavaScript, Images)# https://docs.djangoproject.com/en/1.9/howto/static-files/STATIC_URL = "/static/"# 添加 img 、 css 和 js 等静态文件目录STATIC_ROOT = os.path.join(BASE_DIR, "static/")STATICFILES_DIRS = ( ("css", os.path.join(STATIC_ROOT, "css")), ("img", os.path.join(STATIC_ROOT, "img")), ("js", os.path.join(STATIC_ROOT, "js")), ("fonts", os.path.join(STATIC_ROOT, "fonts")), ("plug", os.path.join(STATIC_ROOT, "plug")),)

以上你有多少静态文件夹要使用就添加多少。

注意:上面注释有汉字,所有的.py文件只要内部包含汉字都需要在文件开始处添加一行,不然报字符集错误,添加内容如下:

# _*_ coding:utf-8 _*_引用静态文件

下载amazeUI,然后将other.min.css(自己写的)和amazeui.css放在css文件里,需要的源码联系我,我就不上传了。

静态文件目录已经配置好,那么使用就简单了,比如我们想要取到静态文件css里的amazeui.css,只需要通过“/static/css/amazeui.css”,其实和其它开发方式是一样的,只不过static下的所有用到的文件必须在setting.py中配置(默认static目录已经配置了)才能使用。static前面必须加/。

将以前的login.html文件修改为如下(可以看到.css和.png文件的引用):

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="/static/css/amazeui.css" /> <link rel="stylesheet" href="/static/css/other.min.css" /></head><body class="login-container"> <div class="login-box"> <div class="logo-img"> <img src="/static/img/logo2_03.png" alt="" /> </div> <form action="" class="am-form" data-am-validator> <div class="am-form-group"> <label for="doc-vld-name-2"><i class="am-icon-user"></i></label> <input type="text" id="doc-vld-name-2" minlength="3" placeholder="输入用户名(至少 3 个字符)" required/> </div> <div class="am-form-group"> <label for="doc-vld-email-2"><i class="am-icon-key"></i></label> <input type="email" id="doc-vld-email-2" placeholder="输入邮箱" required/> </div> <button class="am-btn am-btn-secondary" type="submit">登录</button> </form> </div></body></html>href跳转

在templates文件下新建一个home.html,内容为:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="/static/css/amazeui.css" /> <link rel="stylesheet" href="/static/css/other.min.css" /></head><body class="login-container"> <div class="login-box"> <div class="logo-img"> <img src="/static/img/logo2_03.png" alt="" /> </div> <form action="" class="am-form" data-am-validator> <button class="am-btn am-btn-secondary" type="submit"><a href="login.html">跳转到登录界面</a></button> </form> </div></body></html>

在上面的按钮中给出了跳转的页面,如果我们把login.html放在静态文件夹里,那么这里我只要写“/static/html/login.html”就可以了(html文件还得去setting.py里设置),这样就不会去服务器请求这个页面了由于是静态文件。如果我想就把这个login.html文件放在templates目录(home.html也在这里面)里该怎么设置呢?首先将home.html里的跳转href请求页面设置为“login.html”,修改第二层demo目录下的urls.py文件:

from django.conf.urls import urlfrom login import viewsurlpatterns = [ url(r"^$", views.home), url(r"^login.html$", views.login),]

前面文章已经指出,网页href那里href=”login.html”,要和urls.py 里url(r’^login.html′,views.login),注意后者一定要加′,views.login),注意后者一定要加符号,保持一致!!!要是login.html就全是login.html,要是login/就全是login/,否则跳转会找不到文件(咱大致可以这样理解,在网页上无论是以表单的action还是链接的形式来请求页面,比如这里请求的就是url为login.html,既然前端要访问这个url,那么我就在django中注册这个url,通过url(r’^login.html$’, views.login)就将127.0.0.1:8000/login.html请求映射到views.login函数,url(r’^$’, views.home)就将127.0.0.1:8000映射到views.home函数)。:

修改第二层demo目录下的views.py文件:

from django.shortcuts import render# Create your views here.def home(request): context = {} return render(request, "home.html", context)def login(request): context = {} return render(request, "login.html", context)

启动项目

在项目的第一层demo目录(由于你要运行manage.py,所以找到它所在目录就行了)下执行下述命令(后面就不再赘述这条命令了):

python manage.py runserver 127.0.0.1:8000

打开http://127.0.0.1:8000/ 

无线DOS攻击的常用方法 这个其实很好理解,这类工具大家也可能都见过或者听说过,就好比说考试中报纸上提 及的那个“手机信号屏蔽器”就是类似的东西,图8-34所示为目前正在使用的手机干扰机, 只要一打开,就可以保证半径为几十或者几百米之内所有的手机无法连接基站,原理完全一 样,只不过“手机信号屏蔽器”的覆盖频率只涉及了GSM或者CDMA工作频段。同样地,使用前面介绍过的图形化工具也可以实现, Java图形化版本Charon的工作界面,该 工具通过事先监测到的无线客户端 MAC,可对指定无线客户端进行定点攻 击。 阅读详情

相关推荐

12.Django静态文件的引用

12.Django静态文件的引用

孤寒者的博客 9471

Python学习之递归函数和定义函数

转自:微点阅读https://www.weidianyuedu.com Python递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),..

ysds20211402的博客 1210

开题报告该怎么写

考研即将来临,而一般很多大学都会选择在考研结束之后开始安排选题和开题报考(考研之前一般都不谈,老师也很人性化的,不愿意耽误你的复习) 但无论怎么推迟,我们最终都需要去面对并完成这些任务。 现在我就要教大家该如何写一个完整的开题报告! 准备模板。不同的学校有不同的格式,一般情况你的导师会给你们一个学校的标准格式,这个不用太费心。有了模板我们就可以按照模板的“线索”一步一步填充完成即可! 一般大致格式可谓: 研究背景/论文的目的、背景和意义 我们需要写明选择该题目的...

wuyueweifeng的博客 1068

PHP安全:如何合理地限制PHP的访问范围?

摘自:微点阅读https://www.weidianyuedu.com PHP可以直接访问本地服务器路径以及在服务器上执行脚本文件。合理地限制PHP的访问范围,可以有效地制止恶意用户对服务器的攻击。 1、文件系统限制 在PHP中可以通过配置open_basedir来限制PHP访问文件系统的位置,将PHP执行权限限制在特定目录下。当PHP访问服务器的文件系统时,这个设置的位置将被检查。当访问的文件在目录之外时,PHP将拒绝访问。 开启open_basedir可以有效地对抗文件包含、目录遍历等攻..

ysds20211402的博客 911

用js讲解的时间复杂度和空间复杂度。

转自:微点阅读https://www.weidianyuedu.com 和大家分享一下用js讲解的时间复杂度和空间复杂度。 复杂度的表示方式 之前你可能会看到过这么一串东西 T(n) = O(f(n)) S(n) = O(f(n)) 这个叫做大O表示法 其中的T代表的是算法需要执行的总时间,S表示的算法需要的总空间,f(n)表示的是代码执行的总次数 举个例子: function go(n) { var item = ...

ysds20211402的博客 683

动态加载JS脚本的4种方法

转自:微点阅读 https://www.weidianyuedu.com1、直接document.write这里重新温习Document.write()的用法,必须在加载页面的过程中使用,否则将复写整个页面,这里我碰到的问题是,如果用一些异步方法把内容写进页面Body中是不行的,应为IE无法被我们的脚本所阻塞,无法要求加载过程中断,等待我们取得必要的信息,这时候我们将无法保证加载后脚本具体执行的情况。document.write("...

xiaoweids的博客 9152

关于Django: 静态文件引入框架

转自:微点阅读https://www.weidianyuedu.com 前言 各环境等的使用版本如下: Linux Mint 18.2 (Ubuntu16.04); python版本2.7.12和3.5.2; Django版本为1.9。 在前一篇文章中我们已经把一个登录的页面显示在网页上了,而且跳转只跳到了原来的页面,这些只是前期简单的建立项目,相当于学一门语言的开篇课,建立helloworld项目。 我们可以看到上一篇的登录页面非常简单(丑),我们想要使用一些开源的框架来美化界面怎...

ysds20211402的博客 281

Django学习: 静态文件引入框架

转自:微点阅读 https://www.weidianyuedu.com导语各环境等的使用版本如下:Linux Mint 18.2 (Ubuntu 16.04);python版本2.7.12和3.5.2;Django版本为1.9。在前一篇文章中我们已经把一个登录的页面显示在网页上了,而且跳转只跳到了原来的页面,这些只是前期简单的建立项目,相当于学一门语言的开篇课,建立helloworld项目。我们可以看到上一篇的登录页面非常简单(丑),我们想要使用一些开源的框架来美化界面怎么办呢,比如我想使用amazeU

xiaoweids的博客 222

Django学习: 关于静态文件引入框架

转自:微点阅读 https://www.weidianyuedu.com导语各环境等的使用版本如下:Linux Mint 18.2 (Ubuntu 16.04);python版本2.7.12和3.5.2;Django版本为1.9。在前一篇文章中我们已经把一个登录的页面显示在网页上了,而且跳转只跳到了原来的页面,这些只是前期简单的建立项目,相当于学一门语言的开篇课,建立helloworld项目。我们可以看到上一篇的登录页面非常简单(丑),我们想要使用一些开源的框架来美化界面怎么办呢,比如我想使用amazeU

xiaoweids的博客 261

Django: 静态文件如何引入框架

前面文章已经指出,网页href那里href=”login.html”,要和urls.py 里url(r’^login.html′,views.login),注意后者一定要加′,views.login),注意后者一定要加符号,保持一致!在上面的按钮中给出了跳转的页面,如果我们把login.html放在静态文件夹里,那么这里我只要写“/static/html/login.html”就可以了(html文件还得去setting.py里设置),这样就不会去服务器请求这个页面了由于是静态文件。其次还要实现页面的跳转。.

xiaoweids的博客 218

Django1.4关于静态文件(css.js等)和模板路径的配置

最近在学习新的MVC框架Django,这是一个基于Python语言的Web开发框架Django框架的好处就是能够以最小的代价构建和维护高质量的Web应用。而说到Web开发,不可避免的要使用到css和javascript文件。而怎样解决在Django框架中将这些静态文件引入,还有怎样在工程中配置模板路径的问题呢。在这里,博主将为大家详细的讲述一下方法。  首先,在你建立的工程的根目录中建立一个st

jsgaoyes的专栏 1316

django项目中加入像bootstrap这样的css,js等静态文件

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34291004的博客 247

python——django连接html登陆界面

django连接html登陆界面 第一步: 引入登陆页面 url.py from django.contrib import admin from django.conf.urls import url from django.shortcuts import HttpResponse,render urlpatterns = [ path('admin/', admin.site.urls), url(r'^index/', index), ] 第二步:templates下添加in

weixin_42677130的博客 1798

django学习入门系列之第三点《快速了解 CSS》

这相当于给这个类取名字,这样后面如果谁使用的话直接用名字就可以进行操作了。在pycharm中打开这个浏览器中就可以看到了。style 这种就叫css样式。在标签上使用的时候要注意是。如何快捷打开内置网站。

铁匠匠匠的博客 1369

django静态文件配置和使用

在我们配置的{% static 'css/bootstrap.css' %},中,如果写成{% static '/css/bootstrap.css' %}也就是css前面有个"/",那么django就会认为这是一个绝对路径,而不会把STATIC_URL配置项加到css前面,官网:https://docs.djangoproject.com/en/2.2/topics/forms/media/#form-asset-paths 中的Paths in asset definitions条目。

淘淘桃的博客 8716
上一篇: 关于局域网的特性的三个要素
下一篇: 关于JS的组成、特点及用途浅谈
xinyuerr
博客等级 码龄3年 2682粉丝 928原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值