技术交流QQ群:1027579432,欢迎你的加入!

本教程来源于B站杨仕航Django2.0开发视频教程,如需转载,必须注明来源!

1.页面设计

2.导航栏设计

  • 打开blog文件夹的urls.py文件,在文件中添加博客列表blog_list页面的路由,如下所示:

    from django.urls import path
    from . import viewsurlpatterns = [# http:localhost:8000/blog/1path('', views.blog_list, name="blog_list"),path('<int:blog_pk>', views.blog_detail, name="blog_detail"),path('type/<int:blog_type_pk>', views.blogs_with_type, name="blogs_with_type"),
    ]
    
  • 打开mysite文件夹目录下的templates文件夹下的base.html文件,在首页中增加首页和博客两个显示的标题,如下所示:
    <!DOCTYPE html>
    <html lang="en">
    <head><title>{% block title %}{% endblock %}</title><meta charset="UTF-8">
    </head>
    <body><div><a href="{% url 'home' %}"><h3>个人博客网站</h3></a><a href="/">首页</a><a href="{% url 'blog_list' %}">博客</a></div><hr>{% block content %} {% endblock %}
    </body>
    </html>
    
  • 接着在mysite文件目录下,创建首页的请求处理的方法views.py文件,文件的内容如下:
    from django.shortcuts import render_to_responsedef home(request):context = {}return render_to_response("home.html", context)
    
  • 然后,打开mysite文件目录下的templates文件夹,然后创建网站首页的模板页面home.html,内容如下所示:
    {% extends 'base.html' %}{% block title %}我的网站|首页
    {% endblock %}{% block content %}<h3>欢迎访问我的网站,随便看</h3>
    {% endblock %}
    
  • 最后,需要对博客首页的路由进行修改,打开mysite文件目录下的urls.py文件,修改原始文件中打开首页的路由:
    from django.contrib import admin
    from django.urls import include, path
    from . import viewsurlpatterns = [# 博客首页path('', views.home, name="home"),   # 博客首页的路由已经修改!path('admin/', admin.site.urls),path('blog/', include('blog.urls')),]
    

3.使用CSS

  • 使用CSS对HTML进行修饰,CSS即层叠样式表。对首页的前端页面进行CSS美化,打开base.html文件,添加如下内容:

    <!DOCTYPE html>
    <html lang="en">
    <head><title>{% block title %}{% endblock %}</title><meta charset="UTF-8">
    </head>
    <body><div class="nav"><a  class="logo" href="{% url 'home' %}"><h3>个人博客网站</h3></a><a href="/">首页</a><a href="{% url 'blog_list' %}">博客</a></div>{% block content %} {% endblock %}<style>* {margin: 0;padding: 0;}div.nav {background-color: #eee;border-bottom: 1px solid #ccc;}div.nav a {text-decoration: none;color: #000;padding: 10px 5px;}div.nav a.logo {display: inline-block;font-size: 120%;}</style>
    </body>
    </html>
    
  • 同时,对网站首页的前端页面home.html进行CSS美化,添加如下内容:
    {% extends 'base.html' %}{% block title %}我的网站|首页
    {% endblock %}{% block content %}<h3 class="home-content">欢迎访问我的网站,随便看</h3><style>h3.home-content {font-size: 222%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}</style>
    {% endblock %}
    

4.使用静态文件

  • 在项目根目录下创建静态文件夹static,如下图所示。在static文件夹下创建base.css文件,内容如下所示。这样就可以解决上一小节中在HTML中嵌入CSS代码的混乱感。

    * {margin: 0;padding: 0;
    }div.nav {background-color: #eee;border-bottom: 1px solid #ccc;
    }div.nav a {text-decoration: none;color: #000;padding: 10px 5px;
    }div.nav a.logo {display: inline-block;font-size: 120%;
    }
    
  • 打开mysite文件夹下的全局设置文件settings.py,在该文件的最后添加静态文件夹static所存放的位置,添加如下内容所示:
    STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),
    ]
    
  • 在base.html文件中引入static文件夹下的base.css文件,有两种方法:下面采用方法1。此时,base.html文件如下所示:
    <!-- 方法2:引入static文件夹下的base.css文件 -->
    {% load staticfiles %}
    <!DOCTYPE html>
    <html lang="en">
    <head><title>{% block title %}{% endblock %}</title><meta charset="UTF-8"><!-- 方法1:引入static文件夹下的base.css文件  --><link rel="stylesheet" href="/static/base.css"><!-- 方法2:引入static文件夹下的base.css文件 --><!-- <link rel="stylesheet" href="{% static 'base.css' %}"> -->
    </head>
    <body><div class="nav"><a  class="logo" href="{% url 'home' %}"><h3>个人博客网站</h3></a><a href="/">首页</a><a href="{% url 'blog_list' %}">博客</a></div>{% block content %} {% endblock %}
    </body>
    </html>
    
  • 同理,在static文件夹下创建home.css,然后将home.html中的CSS代码剪切至home.css中。如下所示:
    h3.home-content {font-size: 222%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);
    }
    
  • 由于home.html文件是对base.html文件的拓展,于是,对base.html文件进行修改增加模板标签**{% block header_extends %}{% endblock %}**,修改后的文件内容如下所示:
    <!DOCTYPE html>
    <html lang="en">
    <head><title>{% block title %}{% endblock %}</title><meta charset="UTF-8"><link rel="stylesheet" href="/static/base.css">{% block header_extends %}{% endblock %}
    </head>
    <body><div class="nav"><a  class="logo" href="{% url 'home' %}"><h3>个人博客网站</h3></a><a href="/">首页</a><a href="{% url 'blog_list' %}">博客</a></div>{% block content %} {% endblock %}
    </body>
    </html>
    
  • 最后,在home.html中对模板标签**{% block header_extends %}{% endblock %}**进行详细说明。因此需要在home.html中引入home.css才能对博客首页的前端页面进行CSS美化,此处使用方法2进行引入CSS文件。home.html文件中的内容如下:
    {% extends 'base.html' %}{% load staticfiles %}{% block title %}我的网站|首页
    {% endblock %}{% block header_extends %}<link rel="stylesheet" href="{% static 'home.css' %}">
    {% endblock %}{% block content %}<h3 class="home-content">欢迎访问我的网站,随便看</h3>
    {% endblock %}
    

10使用CSS美化页面相关推荐

  1. Java学习-14 CSS与CSS3美化页面及网页布局

    Java学习-14 CSS与CSS3美化页面及网页布局 1. CSS简介 什么是CSS? CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示控制 HTML 元素, ...

  2. 前端(五)——CSS之美化页面

    文章目录 1. 美化页面原因 2. span标签 3. 字体样式 4. 文本样式 5. 超链接伪类 6. 列表 7. 背景 8. 渐变 9. 盒子模型 1. 美化页面原因 有效的传递页面信息 美化网页 ...

  3. CSS入门二、美化页面元素

    零.文章目录 CSS入门二.美化页面元素 1.字体属性 CSS Fonts (字体)属性用于定义字体系列.大小.粗细.和文字样式(如斜体) (1)字体系列font-family font-family ...

  4. 前段html css部分试卷,CSS美化试卷页面

    经CSS美化后的试卷页面 使用CSS美化前面做的纯HTML页面,实现如上的效果. *-- 第一步: 使用text-align:center实现将标题居中,width:auto使宽度自适应,height ...

  5. Form 表单详解:案例、CSS 美化

    本文要点: 常见表单 表单的性质 表单CSS美化 使用 radio 实现 Tab 选项卡 什么是表单 用户通过表单填写信息,然后通过计算机网络传送给服务器.表单标签不是一个标签,而是一组标签,因为不同 ...

  6. 04-前端技术_CSS与CSS3美化页面

    目录 二,CSS与CSS3美化页面 1,CSS简介 1.1 什么是CSS? 1.2 样式层叠次序 2,CSS基础语法 2.1 介绍 2.2 注释 3,CSS使用方式 3.1 如何插入样式表 3.2 外 ...

  7. h5、select下拉框右边加图标,深度美化页面增进用户体验

    h5.select下拉框右边加图标,深度美化页面增进用户体验 1.那么我们先来看一下效果吧! 2.再看看h5的结构: <div id="login-div"><d ...

  8. 使用CSS对页面加载的淡入效果

    本文翻译自:Using CSS for fade-in effect on page load Can CSS Transitions be used to allow a text paragrap ...

  9. 每个网页设计师应该知道的10条CSS规则

    通过网页设计师的大量CSS经验,我们会记住所有种代码语法,兼容性和片段.有一些特定的CSS,可以真正帮助改变你的网站设计改变较旧的技术规则和声明.这里是我收集到的很有用的10条CSS规则 @media ...

最新文章

  1. MATLAB【十四】————调用深度库生成exe,批量运行三层文件夹下图片,保存结果
  2. 人工智能在能源行业的5个应用
  3. Spring/Spring Boot微服务项目 集成Druid 实现监控功能
  4. Hibernate 性能优化之二级缓存
  5. 查看移动平均价的历史记录
  6. golang的mahonia字符集转换工具用法
  7. 单片机与gsm通信c语言,gsm模块如何与单片机通信?
  8. element-ui多选框模糊搜索输入文字闪动问题
  9. for range循环通道
  10. echarts 饼图移动端_VUE移动端项目中使用Echart
  11. ES6学习摘要(03)(新人学习)
  12. go - 构造复杂json串
  13. python基础之pip、.pyc、三元运算、进制、一切皆对象、可变与不可变类型
  14. python列表模糊匹配_Python下用List对员工信息表进行模糊匹配
  15. 利用matlab实现pid控制,利用Matlab实现PID控制仿真
  16. Leetcode DAY6: 有效的字母异位词 and 两个数组的交集 and 快乐数 and 两数之和
  17. 非对称加密之公钥密码体系 【五】
  18. 形式化、半形式化和非形式化
  19. Android Studio新建工程及测试效果
  20. 泛读论文:Person-reID 行人重识别合集

热门文章

  1. 行业深度见解•SD-WAN对于企业云的重要性
  2. 美研究最新生物活性玻璃 可消灭致命的细菌
  3. 基于 react, redux 最佳实践构建的 2048
  4. 如何下载DELL服务器VMware ESXi镜像
  5. IntelliJ IDEA 2016.3.1 学习git 码云插件 学习笔记
  6. Percona XtraDB Cluster(转)
  7. 架构设计:生产者/消费者模式 第6页:环形缓冲区的实现
  8. oracle数据库备份恢复篇(一)
  9. 使用VMware Workstation搭建基于Linux的Oracle 10g RAC
  10. 千万级流量的大型分布式系统架构设计