复习:博客站点

<!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
<meta charset="utf-8">
<title>first web</title>
<link rel="stylesheet" href="{% static 'css/semantic.css'%}" media="screen" title="no title" charset="utf-8">
<link href="https://fonts.googleapis.com/css?family=Oswald|Raleway" rel="stylesheet">
<style type="text/css">
/*封面图部分样式如下*/
.ui.vertical.segment.masthead {
height: 300px;
background: url("{% static 'images/star_banner.jpg'%}");
background-size: cover;
background-position: 100% 80%;
} .ui.center.aligned.header.blogslogon {
margin-top: 40px;
}
.ui.center.aligned.header.blogslogon p {
margin-top: 10px;
color: white;
font-size: 10px;
}
/*菜单栏部分样式如下*/
.ui.container.nav {
width: 500px;
} /*菜单栏部分样式如下*/
.ui.container.vertical.segment {
width: 800px;
} h2 {
font-family:'Oswald', sans-serif!important;
font-size:40px;
} p {
font-family: 'Raleway', sans-serif;
font-size:18px;
}
</style>
</head>
<body>
<!-- 封面图部分如下 -->
<div class="ui inverted vertical segment masthead">
<h1 class="ui center aligned header blogslogon" style="font-size:50px;font-family: 'Raleway', sans-serif!important;">
Bloger
<p class="ui sub header">
everyone has a story to tell
</p>
</h1>
</div>
<!-- 菜单栏部分如下 -->
<div class="ui container nav">
<div class="ui borderless text three item menu ">
<div class="ui simple dropdown item">
Categories
<i class="dropdown icon"></i>
<div class="menu">
<a class="item" href="">life</a>
<a class="item" href="">tech</a>
</div>
</div>
<a class="item">
Popular
</a>
<a class="item">
About
</a>
</div>
</div>
<div class="ui divider"></div>
<!-- 文章内容部分如下 -->
<div class="ui vertical segment">
{% for article in article_list%}
<div class="ui container vertical segment">
<a href="#">
<h2 class="ui header">
{{ article.headline }}
</h2>
</a>
<i class="icon grey small unhide">10,000</i>
<p>
{{ article.content|truncatewords:100 }}
<a href="#">
<i class="angle tiny double grey right icon">READMORE</i>
</a>
</p>
<div class="ui mini tag label">
life
</div>
</div>
{% endfor %} </div>
<!-- 页尾部分如下 -->
<div class="ui inverted vertical very padded segment">
Mugglecoding®
</div>
</body>
</html>

1.GET方法传递参数

         

2.开发过程的三个问题(从后向前思考)

  1. Model层:需要多少个数据字段

  2. View层:根据什么请求,返回什么结果

  3. Template层:如何与用户进行交互?

(2)开发流程

  • T  需要看到数据的网页

  • M 做数据

  • V 视图模型

  • U url地址

  • T 调整网页



1.Model层

  (1)添加tag标签

  • choices 选项

           

    TAG_CHOICES = (
('tech','Tech'), #值:名字
('life','Life'),
)
tag = models.CharField(null=True,blank=True,max_length=5, choices=TAG_CHOICES)

 

  (2)更新数据库到后台

PS C:\Users\Administrator\Desktop\root\firstsite> python.exe .\manage.py makemigrations

PS C:\Users\Administrator\Desktop\root\firstsite> python.exe .\manage.py migrate

PS C:\Users\Administrator\Desktop\root\firstsite> python.exe .\manage.py runserver

  

  (3)启动服务器,后台查看tag标签

     

  

2. View层

(1)认识request请求参数?

    

    

    (2)通过GET方法获取tag对应的值

    

    

    

  (3)判断request请求,通过Get方法得到的数据,进行判断

    

  • http://127.0.0.1:8000/index/?tag=tech

     

  

  • http://127.0.0.1:8000/index/?tag=life

    

    

  (4)views.py的index视图代码

def index(request):
print(request)
print("==="*30)
print(dir(request))
print("==="*30)
print(type(request)) queryset = request.GET.get('tag')
print(queryset) if queryset:
article_list = Aritcle.objects.filter(tag=queryset) #过滤器
else:
article_list = Aritcle.objects.all() #获取Article数据库所有的数据 context = {}
context['article_list'] = article_list
index_page = render(request,'firstweb.html',context)
return index_page

  

3.Template层:如何与用户交互?

  (1)a标签跳转url

  (2)小修改:模板变量

    

    

    (3) html代码

  <!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
<meta charset="utf-8">
<title>first web</title>
<link rel="stylesheet" href="{% static 'css/semantic.css'%}" media="screen" title="no title" charset="utf-8">
<link href="https://fonts.googleapis.com/css?family=Oswald|Raleway" rel="stylesheet">
<style type="text/css">
/*封面图部分样式如下*/
.ui.vertical.segment.masthead {
height: 300px;
background: url("{% static 'images/star_banner.jpg'%}");
background-size: cover;
background-position: 100% 80%;
} .ui.center.aligned.header.blogslogon {
margin-top: 40px;
}
.ui.center.aligned.header.blogslogon p {
margin-top: 10px;
color: white;
font-size: 10px;
}
/*菜单栏部分样式如下*/
.ui.container.nav {
width: 500px;
} /*菜单栏部分样式如下*/
.ui.container.vertical.segment {
width: 800px;
} h2 {
font-family:'Oswald', sans-serif!important;
font-size:40px;
} p {
font-family: 'Raleway', sans-serif;
font-size:18px;
}
</style>
</head>
<body>
<!-- 封面图部分如下 -->
<div class="ui inverted vertical segment masthead">
<h1 class="ui center aligned header blogslogon" style="font-size:50px;font-family: 'Raleway', sans-serif!important;">
Bloger
<p class="ui sub header">
everyone has a story to tell
</p>
</h1>
</div>
<!-- 菜单栏部分如下 -->
<div class="ui container nav">
<div class="ui borderless text three item menu ">
<div class="ui simple dropdown item">
Categories
<i class="dropdown icon"></i>
<div class="menu">
<a class="item" href="?tag=life">life</a>
<a class="item" href="?tag=tech">tech</a>
</div>
</div>
<a class="item">
Popular
</a>
<a class="item">
About
</a>
</div>
</div>
<div class="ui divider"></div>
<!-- 文章内容部分如下 -->
<div class="ui vertical segment">
{% for article in article_list%}
<div class="ui container vertical segment">
<a href="#">
<h2 class="ui header">
{{ article.headline }}
</h2>
</a>
<i class="icon grey small unhide">10,000</i>
<p>
{{ article.content|truncatewords:100 }}
<a href="#">
<i class="angle tiny double grey right icon">READMORE</i>
</a>
</p>
<div class="ui mini tag label">
{{ article.tag }}
</div>
</div>
{% endfor %} </div>
<!-- 页尾部分如下 -->
<div class="ui inverted vertical very padded segment">
Mugglecoding®
</div>
</body>
</html>

4 . GET方法实现文章分类的更多相关文章

  1. ecshop不同的文章分类使用不同的模板的方法

    ecshop文章模板做的太简单,页面很丑,怎么才能实现不同的文章使用不同的模板呢,方法是有的,就是没有shopex那么方便,但还可以实现,只要能用就行. 1.打开article_cat.php文件,在 ...

  2. ECshop通过文章分类的ID实现不同模板

    当客户需要想要用不同模板来实现文章页面时,文章就需要实现调用不同模板的内容,着手点就是它的分类ID.直接通过分类ID来判断一下,现在68ecshop技术来告诉你该怎么做 方法如下所示: 一.打开根目录 ...

  3. 关于wordpress文章分类显示404错误的解决办法。

    闲来无事,在虚拟主机上装了一个wordpress尝试自己搭一个博客玩一下,发现文章分类一直显示404错误,网上查了好久,终于找到解决方法,其实很简单,只要将分类的别名改成英文的就解决了,分类中不能包含 ...

  4. ecshop不同文章分类调用不同文章分类模板

    根据需要,不同的文章分类会有不一样的页面风格.也就是说根据文章分类ID来判断,输出不同的文章分类模板. 重点就是文章分类的ID. 打开:article_cat.php $smarty->disp ...

  5. 在云服务器搭建WordPress博客(五)创建和管理文章分类

    不同主题的文章划分到不同的分类,有助于访客寻找他们想要的内容,提高用户体验.所以,为你的网站创建文章分类是很有必要的.那么,WordPress系统如何创建和管理文章分类呢?今天倡萌就简单介绍一下. 创 ...

  6. 历史文章分类汇总-Anaconda安装第三方包(whl文件)

    本文主要是对公众号之前发布的文章进行分类整理,方面大家查阅,以后会不定期对文章汇总进行更新与发布.   一.推荐阅读: Anaconda安装第三方包(whl文件) 福布斯系列之数据分析思路篇 福布斯系 ...

  7. 初始化文章分类的方法 下拉的layui框

    触发时机:页面加载完毕之后 实现步骤: 1.利用$.ajax()发起请求 (找接口文档) 2.在success成功回调里面获取服务器返回的数据,判断一下返回的success是否是0. 3.如果不是0, ...

  8. 如何批量转换 WordPress 文章分类

    可能建博之初,分类设置过于详细,后来想重新整理并删除一些分类项目,比如删除分类A,并将其中的所有文章划归到分类B中,手动修改文章的分类过于麻烦,有木有什么方法可以批量移动文章到另一个分类中呢? 网上闲 ...

  9. Spark2.0机器学习系列之8:多类分类问题(方法归总和分类结果评估)

    一对多(One-vs-Rest classifier) 将只能用于二分问题的分类(如Logistic回归.SVM)方法扩展到多类. 参考:http://www.cnblogs.com/CheeseZH ...

随机推荐

  1. python模块详解 random os

    random模块 常用方法 random.random() 随机产生一个小于1的浮点数 import random print(random.random()) #0.4153761818276826 ...

  2. chrom锚点不能跳转的问题

    最近做一调查页,对没有选择的问题做定位和提示,谷歌下定位不能跳转,解决方法: window.location.hash = 锚点: window.location = window.location;

  3. PHP switch分支语句中省略break后还会执行其他case的原因分析

    请分析以下PHP代码的输出结果: $a= 'dog'; switch($a) { case 'cat': echo "\$a is cat"; case 'dog': echo & ...

  4. Azure进阶攻略 | 该如何唤醒你?因内核超时而沉睡的Linux虚拟机!

    周五下午,当你收拾好东西准备下班,奔赴 Happy Hour 时,突然接到开发团队的电话: 对方:伙计救命啊,我在搭建开发环境,但 Azure 上的 Linux 虚拟机无法启动! 你(心里想着:你要加 ...

  5. zabbix3.0问题及解决方法

    一.问题:Zabbix agent on T2 is unreachable for 5 minutes         解决:1.进入zabbix service端 vim /etc/zabbix/ ...

  6. MYSQL:随机抽取一条数据库记录

    今天我们要实现从随机抽取一条数据库记录的功能,并且抽取出来的数据记录不能重复: 1.首先我们看文章表中的数据: 2.实现功能代码如下: 1 /** * 获取随机的N篇文篇 * @param int $ ...

  7. TP5.1:依赖注入、绑定一个类到容器里、绑定一个闭包到容器中

    依赖注入 1.在application中创建一个文件夹,名字为commom,commom文件夹中创建被注入文件夹,在被注入文件夹中创建一个名为demo.php的文件 2.在demo.php中输入: 3 ...

  8. NWERC 2013 - J (codeforces gym - 100405J)

    题目描述:给你一颗二叉树,保证每个点要么是叶子节点,要么有左右两个儿子.某些叶子节点上放着灯,请你移动最少的灯,使得整棵树平衡 对平衡的定义:对于树上的每个点左右儿子中灯数的差的绝对值≤1,那么这棵树 ...

  9. MSD_radix_sort

    一.这次是在上一次尝试基础上进行的,预期是达到上次性能的9倍. MSD的基本手法就是不断切片.每一步都是把整体数据切割成256片,如上图所示,实际情况切片未必均匀,有的slice内可能一个元素也没有. ...

  10. POJ-2002 Squares---绕点旋转+Hash

    题目链接: https://vjudge.net/problem/POJ-2002 题目大意: 有一堆平面散点集,任取四个点,求能组成正方形的不同组合方式有多少. 相同的四个点,不同顺序构成的正方形视 ...