Django开发博客- 页面美化
css是一种用来描述某种标记语言写的web站点的样式语言。这里我们并不想展开讨论,关于CSS我在这里推荐一个很不错的资源: Codeacademy HTML & CSS course
不想从头开始写,因为我们有现成的css框架,没必要重复造轮子。
使用Bootstrap
目前最流行的css框架非bootstrap莫属了,官网地址:http://getbootstrap.com/
只需要在你的html模板页面的开始部分添加下面几句就行了
1 |
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> |
你的工程里面不需要引入任何的文件,因为这里直接引用了bootstrap公共的css和js文件。
再次打开模板文件,效果如下:
是不是感觉变美观了。^_^
django静态文件
这里我还将讲解下django中的静态文件。静态文件就是css、js、图片、视频等等那些内容不会改变的文件,不管任何时候,对于任何用户都是一样的。
css就是一种静态文件,为了自定义css,我们必须先再django中配置,你只需要配置一次就可以了。那让我们马上开始吧!
django中配置静态文件
首先我们需要创建一个目录来存储静态文件,在manage.py的同级目录中创建一个static文件夹
mysite |
打开配置文件mysite/settings.py,在最后面添加如下配置:
1 |
STATICFILES_DIRS = ( |
它告知django应该在哪个位置去查找静态文件。
第一个CSS文件
现在我们开始创建自己的css文件了,首先在static目录中新建一个css目录,然后在里面创建一个blog.css文件。目录结构如下
static |
打开文件static/css/blog.css后,添加如下内容
1 |
h1 a { |
h1 a是CSS选择器,上面的意思是在h1标签下的链接a的文字颜色会是#FCA205,其实就是橘黄色,颜色都是用十六进制表示的。
接下来我们要让模板加载静态css文件,打开blog/templates/blog/post_list.html,在最开始部分加入:
{% load staticfiles %} |
然后在bootstrap引用的后面添加下面这句
<link rel="stylesheet" href="{% static 'css/blog.css' %}"> |
最后,整个模板文件类似这样:
1 |
{% load staticfiles %} |
OK,保存并刷新后看看效果
我想要文字左边的边距大一点,这样会好看些。那么在blog.css中添加如下内容:
1 |
body { |
刷新页面后效果:
我还想自定义文字标题的字体,在post_list.html模板的中添加如下一句
1 |
<link href="http://fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext" rel="stylesheet" type="text/css"> |
这句会引入Google的一个字体Lobster,然后修改blog.css中的h1 a的样式如下:
1 |
h1 a { |
刷新后的效果:
CSS中的class
在CSS中有一个class的概念,它可以让你只改变HTML中某一部分的样式而不会影响到其他部分。
这里我们将区别标题头和文章本身的样式。
在post_list.html中添加如下的标题段:
1 |
<div class="page-header"> |
文章列表段修改如下:
1 |
<div class="content"> |
blog.css样式修改如下:
1 |
.page-header { |
保存这些文件后,刷新页面,看看,是不是很酷了:
已经比较美观了。上面的css应该看起来不会那么难,可以自己试着去修改它,没关系的,反正出错了可以撤销。
Django开发博客- 页面美化的更多相关文章
- 纯django开发博客系统
企业级教程:纯django开发博客系统 1.视频教程 https://www.duanshuilu.com/ 2.教程文档 https://www.duanshuilu.com/ 0.课程简介1.简价 ...
- django开发博客(1) 入门
现在正式开始博客开发 1.安装django1.4 如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境 django下载地址 https://ww ...
- Django学习(五)---模板扩展,开发博客页面
(一)博客主页面开发 1.模板中可使用for循环,语法格式为: {% for xs in xxs %} HTML语句 {% endfor %} 2.更改app下的views.py, 获取后台model ...
- 使用django开发博客过程记录3——博客侧栏实现
说起这个侧栏真是苦恼我很长时间,一开始以为和之前的一样传递额外参数就可以了就像下面这样: class IndexView(ListView): template_name = 'apps/index. ...
- Django开发博客- 三部曲
其实在django中实现一个功能只需要三个步骤即可,这里我姑且叫它三部曲. 这三部曲就是: 定义urls映射 定义views 定义templates 什么是URL? URL就算一个WEB地址,你在浏览 ...
- Django开发博客 入门篇
Django是神马? Django是一个开源免费的Web框架,使用Python编写.能够让你快速写出一个Web应用, 因为它包含了绝大部分的组件,比如认证,表单,ORM,Session,安全,文件上传 ...
- 使用django开发博客过程记录4——Category分类视图
在写点击博客的所属分类,显示所有该分类的文章时真是让我想了好一会,为什么呢?因为我使用的是cbv模式开发的而不是简单的视图处理逻辑的,所以,有些操作会被包装好了,你并不知道它的细节,那么我们今天要实现 ...
- Django开发博客- 部署
安装Git Git是一个被大量程序员使用的”版本控制系统”.此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本. windows系统下面可以下载git-scm安装.除了第5步”Adj ...
- Django开发博客- 模型
django的模型就是用于在数据库中存储的某种类型的对象.在我们的博客系统中, 发表的文章就是一个模型,需要存储在数据库中. 这里我们使用django默认的sqlite3库,对于我们的这个小系统而言已 ...
随机推荐
- JavaScript运算符
JavaScript运算符 1.算数运算符 设定a = 5. 运算符 描述 例子 结果 + 加 b=a+2 b=7 - 减 b=a-2 b=3 * 乘 b=a*2 b=10 / 除 b=a/2 b=2 ...
- Python 字符串、元组、字典转换成列表
- js九宫格的碰撞检测
说来惭愧,我一直以为四四方方的拖拽碰撞检测是一个比较容易的事情,后来试过一次,真是让我耗费了无数的脑细胞,原理其实不难,但是具体做起来可就让我很恶心,这可能跟我驾驭的代码数量有关系,我一般也就写半屏幕 ...
- DirectX 3d 取景变换
在世界坐标系中,几何体和摄像机都是相对于世界坐标系定义的.但是当摄像机的位置和朝向任意时,投影变换及其它类型的变的就略显困难或效率不高.为了简化运算,我们将摄像机变的至世界坐标系原点,并将其旋转,使摄 ...
- [HDU5907]Find Q(水)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5907 记下每块大小,然后n*(n+1)/2 #include <bits/stdc++.h> ...
- Java中正则表达式的使用
public class Test{ public static void main(String args[]) { String str="@Shang Hai Hong Qiao Fe ...
- Python基础学习笔记(十)日期Calendar和时间Timer
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...
- Iframe刷新父窗口的几种方式
/*Iframe刷新父窗口的几种方式在iframe的子页面中,使用onload刷新父页面的时候,遇到了一些问题. 1.目前来说,测试成功,并且兼容IE6/7和FF的刷新方式. */ <scrip ...
- [转载] 理解RESTful架构
原文: http://www.ruanyifeng.com/blog/2011/09/restful.html 理解RESTful架构 作者: 阮一峰 日期: 2011年9月12日 越来越多的人开 ...
- POJ2676,HDU4069解决数独的两种实现:DFS、DLX
搜索实现:解决数独有两种思考策略,一种是枚举当前格能填的数字的种数,这里有一优化策略就是先搜索能填入种数小的格子:另一种是考虑处理某一行(列.宫)时,对于某一个没用过的数字,若该行(列.宫)只有一个可 ...