4 . GET方法实现文章分类
复习:博客站点
<!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.开发过程的三个问题(从后向前思考)
Model层:需要多少个数据字段
View层:根据什么请求,返回什么结果
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方法实现文章分类的更多相关文章
- ecshop不同的文章分类使用不同的模板的方法
ecshop文章模板做的太简单,页面很丑,怎么才能实现不同的文章使用不同的模板呢,方法是有的,就是没有shopex那么方便,但还可以实现,只要能用就行. 1.打开article_cat.php文件,在 ...
- ECshop通过文章分类的ID实现不同模板
当客户需要想要用不同模板来实现文章页面时,文章就需要实现调用不同模板的内容,着手点就是它的分类ID.直接通过分类ID来判断一下,现在68ecshop技术来告诉你该怎么做 方法如下所示: 一.打开根目录 ...
- 关于wordpress文章分类显示404错误的解决办法。
闲来无事,在虚拟主机上装了一个wordpress尝试自己搭一个博客玩一下,发现文章分类一直显示404错误,网上查了好久,终于找到解决方法,其实很简单,只要将分类的别名改成英文的就解决了,分类中不能包含 ...
- ecshop不同文章分类调用不同文章分类模板
根据需要,不同的文章分类会有不一样的页面风格.也就是说根据文章分类ID来判断,输出不同的文章分类模板. 重点就是文章分类的ID. 打开:article_cat.php $smarty->disp ...
- 在云服务器搭建WordPress博客(五)创建和管理文章分类
不同主题的文章划分到不同的分类,有助于访客寻找他们想要的内容,提高用户体验.所以,为你的网站创建文章分类是很有必要的.那么,WordPress系统如何创建和管理文章分类呢?今天倡萌就简单介绍一下. 创 ...
- 历史文章分类汇总-Anaconda安装第三方包(whl文件)
本文主要是对公众号之前发布的文章进行分类整理,方面大家查阅,以后会不定期对文章汇总进行更新与发布. 一.推荐阅读: Anaconda安装第三方包(whl文件) 福布斯系列之数据分析思路篇 福布斯系 ...
- 初始化文章分类的方法 下拉的layui框
触发时机:页面加载完毕之后 实现步骤: 1.利用$.ajax()发起请求 (找接口文档) 2.在success成功回调里面获取服务器返回的数据,判断一下返回的success是否是0. 3.如果不是0, ...
- 如何批量转换 WordPress 文章分类
可能建博之初,分类设置过于详细,后来想重新整理并删除一些分类项目,比如删除分类A,并将其中的所有文章划归到分类B中,手动修改文章的分类过于麻烦,有木有什么方法可以批量移动文章到另一个分类中呢? 网上闲 ...
- Spark2.0机器学习系列之8:多类分类问题(方法归总和分类结果评估)
一对多(One-vs-Rest classifier) 将只能用于二分问题的分类(如Logistic回归.SVM)方法扩展到多类. 参考:http://www.cnblogs.com/CheeseZH ...
随机推荐
- JavaScript平台Platypi悄然登场
几个月前,一个新的JavaScript平台Platypi悄然诞生.它为开发者提供的不仅仅是一套标准的MVC框架而已,由于它是基于TypeScript构建的,因此对开发者而言在熟悉之中透露出与众不同的感 ...
- URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)
引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...
- 诸葛io | 精细化运营分析解决方案
类型: 定制服务 软件包: business intelligence internet media solution collateral 联系服务商 产品详情 解决方案 概要 数据监测 ? 异常发 ...
- Linux与Windows区别——总结中
一:在Linux系统中,每一个文件都多加了很多的属性进来,尤其是用户组的概念 二:Windows下面一个文件是否具有执行的能力是通过“扩展名”来判断的,如:.exe,.bat,.com等 Linux下 ...
- Windows 静态IP脚本
@echo off echo 快速设置IP地址和DNS为“静态” set 连接名称=以太网 set ip地址=192.168.1.80 set 子网掩码=255.255.255.0 set 网关地址= ...
- 如何处理Eclipse错误消息 The declared package does not match the expected package
我从github下载了一个开源项目后,导入到自己Eclipse之后,遇到了这个烦人的错误消息: The declared package "com.sap.smartService" ...
- Xapian简明教程(未完成)
第一章 简介 1.1 简介 Xapian是一个开源的搜索引擎库,它可以让开发者自定义的开发一些高级的的索引和查找因素应用在他们的应用中. 通过阅读这篇文档,希望可以帮助你创建第一个你的索引数据库和了解 ...
- bzoj2568 比特集合
Description 比特集合是一种抽象数据类型(Abstract Data Type) ,其包含一个集合S,并支持如下几种操作: INS M : 将元素 M 插入到集合S中: DEL M : 将集 ...
- redis redis的连接
昨天2017年12月26日,我刚刚从网上下载了redis.经过一天的摸索,踩了不少坑.昨天下午,比较磕磕巴巴,今天早上 终于比较完善地完成了一次小操作. 使用cmd的重要步骤 1.输入redis-se ...
- kubernetes-控制器statefulset和Job(十三)
从前面的学习我们知道使用Deployment创建的pod是无状态的,当挂载了Volume之后,如果该pod挂了,Replication Controller会再启动一个pod来保证可用性,但是由 ...