[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 ...
随机推荐
- nginx跨域解决方案
nginx跨域解决方案Access to Font at 'http://47.104.86.187/yinjiatoupiao2/iconfont/iconfont.woff' from origi ...
- day5-基本数据类型总结
一.数字int(..)二.字符串replace/find/join/strip/startswith/split/upper/lower/format tempalte = "i am {n ...
- Python 面向对象之五 基础拾遗
Python 面向对象之五 基础拾遗 今天呢,就剩下的面向对象的相关知识进行学习,主要会学习以下几个方面的知识:1.上下文管理协议,2.为类加装饰器 3.元类 一.上下文管理协议 在学习文件操作的时候 ...
- 篇六:项目使用Dubbo
导语:Dubbo是阿里巴巴的一个分布式服务的开源框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000 ...
- (二十一)golang--字符串中的函数
golang中ascii对应的字符占一个字节,而汉字占三个字节. (1)统计字符串的长度len (2)字符串遍历,同时处理有中文的问题r:=[]rune(str) (3)字符串转整数:n,err:= ...
- pat 1092 To Buy or Not to Buy(20 分)
1092 To Buy or Not to Buy(20 分) Eva would like to make a string of beads with her favorite colors so ...
- 如何在当前文件夹打开cmd(基于win10)
如何在当前文件夹打开cmd(基于win10) 方法一: 1.先打开你要进入的文件夹 2.在标记的位置输入cmd,就可以进入当前文件的cmd 方法二: 1.打开你要进入的文件夹 2.通过shift + ...
- nyoj 206-矩形的个数 (a*b*(a+1)*(b+1)/4)
206-矩形的个数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:16 提交数:37 难度:1 题目描述: 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1* ...
- nyoj 169-素数 (打表)
169-素数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:42 提交数:84 难度:1 题目描述: 走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦 ...
- 基于Vue的日历组件
可以标注重要日子 自己写的,可能不是特别很好,大家多提意见!!! 地址:https://github.com/jsLWQ/calendar