[TimLinux] myblog 首页创建
1. 设计

2. 结构



3. 实现
templates/common/layout.html:
<!DOCTYPE html>
<html lang="zh">
<head>
{% load staticfiles %}
<meta charset="UTF-8">
<title>MyBlog</title>
<link rel="stylesheet" href="{% static 'css/common/layout.css' %}" >
</head>
<body>
<header>
<div class="logo">MyBlog</div>
<div class="nav-link">
<ul>
<li><a href="#">博客园</a></li>
<li><a href="{% url 'polls:index' %}">首页</a></li>
<li><a href="/articles">文章</a></li>
</ul>
</div>
<<div class="login"><a href="/user/login">登陆</a></div>
</header>
<div class="content">
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
<p>abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg </p>
{% block content %}{% endblock %}
</div>
<footer>©2018 — TimLinux</footer> <script type="application/javascript" src="{% static 'js/common/layout.js' %}"></script>
{% block script %}{% endblock %}
</body>
</html>
static/css/common/layout.css:
body {
margin: 0 auto;
background-color: #d6fff1;
}
header {
background-color: #000;
position: fixed;
top:;
left:;
height: 3em;
width: 100%;
}
header .logo {
color: #FFF;
font-size: 24px;
padding: 8px 20px 0 40px;
position: relative;
float: left;
}
header .nav-link {
color: #FFF;
/*background-color: yellow;*/
/*border: 1px solid red;*/
position: relative;
float: left;
}
header ul {
margin:;
padding:;
}
header li {
position: relative;
float: left;
list-style: none;
/*border: 1px solid red;*/
}
header li a {
text-decoration: none;
display: inline-block;
font-size: 18px;
padding: 12px 10px;
width: 80px;
text-align: center;
color: #FFF;
}
header li a:hover {
background-color: #4eff6e;
}
header .login {
position: relative;
float: right;
}
header .login a {
text-decoration: none;
display: inline-block;
font-size: 16px;
padding: 13px 10px;
width: 40px;
text-align: center;
color: #FFF;
}
header .login a:hover {
background-color: #4eff6e;
}
header .selected {
background-color: #ffac47;
}
.content {
margin: 50px 0 30px 0;
/*border: 1px solid blue;*/
}
footer {
position: fixed;
bottom:;
left:;
background-color: cornsilk;
width: 100%;
text-align: center;
height: 20px;
}
static/js/common/layout.js:
function addLoadEvent(func) {
var old_onload = window.onload;
if (typeof old_onload !== 'function') {
window.onload = func;
} else {
window.onload = function () {
old_onload();
func();
}
}
}
function setSelectedNavLink() {
var navLinks = document.querySelectorAll("a[href^='/']");
var curPath = location.pathname;
for (var i=0; i < navLinks.length; i++) {
var curElement = navLinks[i];
if (curElement.pathname === curPath) {
curElement.parentNode.className.replace('selected', '');
curElement.parentNode.className += ' selected';
}
}
}
addLoadEvent(setSelectedNavLink);
polls/templates/polls/index.html
{% extends "common/layout.html" %}
{% block content %}
{{ name }}
{% endblock %}
myblog/settings.py追加的内容:

polls/views.py:
from django.template import loader
from django.http import HttpResponse def index(request):
t = loader.get_template("polls/index.html")
c = {'name': 'TimLinux'}
return HttpResponse(t.render(c, request))
4. 效果

[TimLinux] myblog 首页创建的更多相关文章
- [TimLinux] myblog 创建第一个app
1. 项目结构 项目地址:https://github.com/timscm/myblog.git 2. 启动项目 通过pycharm启动项目,进入调试模式: "D:\Program Fil ...
- [TimLinux] myblog 数据表格显示
1. 设计 2. 数据 创建数据库用户: CREATE USER IF NOT EXISTS 'user1'@'MyBlogPwd123'; GRANT ALL ON d1.* TO 'user1'@ ...
- [TimLinux] myblog 页面Axure设计
1. 导航 2. 首页主体 3. 侧边栏 4. 页尾 5. 使用工具 Axure RP 8.0.0.3312 Pro版本.
- [saiku] 访问saiku首页的时候前后台处理流程
这篇文章讲述:项目启动后,首次访问SAIKU的登录页,前后台分别做了什么处理 (1) 访问的到底是什么页面? 浏览器输入:localhost:8080 啪一回车 根据web访问的尿性,访问的是 ind ...
- 在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 根据您编写的应用程序,Windows Azure 网站上的基本Python 堆 ...
- jenkins创建构建任务
构建项目类型 点击 Jenkins 首页 “创建一个新任务” 的链接, 输入任务名称 Jenkins 提供了六种类型的任务. 构建一个自由风格的软件项目 这是Jenkins的主要功能.Jenkins ...
- 再次用CodeIgniter实现简易blog
天变冷了,人也变得懒了不少,由于工作的需要,最近一直在学习CodeIgniter(CI)框架的使用,没有系统的从PHP基本语法学起,在网上靠百度谷歌,东拼西凑的实现了一些简单的功能.所以,老PHPer ...
- SSH实战 · 唯唯乐购项目(上)
前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...
- OC中的多继承
可以间接实现,方法有: 1.消息转发 2.协议 3.组合模式 4.代理 5.分类 直接上code,分别说明集中方法的实现 一.消息转发 消息转发可以参考我的另外一篇博客:http://www.cnbl ...
随机推荐
- MySQL使用查看表SELECT语句
来源:实验楼 本节实验中学习了 SELECT 语句的常用方法: 基本语法 数学符号条件 AND OR IN 通配符 排序 SQL 内置函数和计算 子查询与连接查询 输入命令,下载代码: git clo ...
- ASP.NET Core 1.0: 指定Static File中的文件作为default page
指定一个网站的default page是很容易的事情.譬如IIS Management中,可以通过default page来指定,而默认的index.html, index.htm之类,则早已经被设置 ...
- Git: Setup a remote Git repository
o setup a folder on a server which service for remote Git repository, apply the following steps: Cre ...
- [java] 计算时间复杂度
一.精算: 1.所有的声明,都不计时间: 2.赋值语句占1个时间单位(下称:单位),比如sum=0: 3.return占1个单位,比如,reeturn sum. 我怀疑范围一个链表头,不止占1 ...
- java编程思想第四版第五章总结
1. 构造器 构造器的一个重要的作用: 保证对象被使用之前初始化了. 构造器是一种特殊类型的方法, 因为他没有返回值.这与返回值为空(void)明显不同.对于空返回值,尽管方法本身不会自动返回什么, ...
- SQL Server Management Studio 安装流程
数据库的操作需要使用SQL Server Management Studio,不过也可以使用其他的: 下面是安装操作的步骤:如果你下载的压缩包,你需要先解压到一个文件夹里,然后双击setup.exe, ...
- ubuntu 16.04源码编译和配置caffe详细教程 | Install and Configure Caffe on ubuntu 16.04
本文首发于个人博客https://kezunlin.me/post/b90033a9/,欢迎阅读! Install and Configure Caffe on ubuntu 16.04 Series ...
- Feature Fusion for Online Mutual Knowledge Distillation (CVPR 2019)
一.解决问题 如何将特征融合与知识蒸馏结合起来,提高模型性能 二.创新点 支持多子网络分支的在线互学习 子网络可以是相同结构也可以是不同结构 应用特征拼接.depthwise+pointwise,将特 ...
- 2019-10-9:渗透测试,基础学习,php文件上传,mysql基础
header("Content-Type:text/html;charst="utf-8")设置头部信息,解决编码问题setcookie("loginStrin ...
- Altium Designer 20.0.9
Altium Designer 20.0.9 Download: http://dl3.downloadly.ir/Files/Software/Altium_Designer_20.0.9_Buil ...