- 博客(195)
- 资源 (6)
- 收藏
- 关注
原创 Django开发个人博客网站——12、实现不同大小的标签云样式
1、创建标签页面与上一节中创建归档页面一样,这里就不再赘述了,直接给出程序代码。tags.html{% extends 'base.html' %}{% block title %}标签云{% endblock %}{% block title %}<div class="content-wrap">...{% for tag in all_tag %...
2018-02-03 14:58:43
2480
3
原创 Django开发个人博客网站——11、通过regroup实现博客的归档
1、创建归档页面按照首页建立的方法建立归档页面,将archive.html从模板文件中拷贝到templates目录下,并继承自base.html页面,然后建立视图函数,并通过url将两者联系起来。archive.html{% extends 'base.html' %}{% block title %}归档{% endblock %}{% block title %}...
2018-02-02 18:39:41
2546
1
原创 Django开发个人博客网站——10、分页功能的实现
现在我们的博客可能只有几篇文章,因此可以全部在首页展示出来,随着博客数量的增加,当达到几十上百篇时,全部展现在首页是不显示也是不友好的,这个时候我们就需要对博客进行分页了。django有它自带的分页功能:Paginator不过我们用在它基础上开发的另一个包:django-pure-pagination1、安装在虚拟环境中通过pip安装:pip install django-...
2018-02-02 17:15:18
3343
8
原创 Django开发个人博客网站——9、模板的继承
在编程的过程中,我们经常会重复性的写了很多的代码,比如一个页面的框架部分,这样有多少个页面就得写上多少次,这样既不好维护,也不够高效,所以我们引出了html的模板继承部分。通过观察我的博客:http://www.geerniya.cn/,我们发现,很多页面大体构造都是一样的,因此我们可以将公用的框架作为一个模板,其它页面可以继承自这个模板,然后在其基础上添加上自己的东西。新建base.ht...
2018-02-02 16:48:40
2406
1
原创 Django开发个人博客网站——8、博客首页的开发
现在我们进入博客的首页127.0.0.1:8000, 发现还是欢迎页面,因为我们还没有给博客添加任何模板,也就是前端html页面。博客前端模板托管在GitHub:django_blog_templates 将项目下载到本地后,将static文件夹整个拷贝到博客项目根目录下,然后在将index.html拷贝到templates目录下。这里的index.html就是我们博客的首页。创建视图...
2018-02-02 15:46:07
4743
13
原创 Django开发个人博客网站——7、通过admin管理后台
Django中一个最强大的部分是自动管理接口,在模型中读取元数据来提供一个强大的、生产就绪的接口,使内容提供者能立即用它向站点中添加内容,在这篇文档中,我们讨论如何去激活,使用和自定义Django的站点管理接口。创建管理员:我们在浏览器中输入http://127.0.0.1:8000/admin,便可进入到后台管理登录页面,如下图所示:此时我们还没有创建管理用户,与创建app一样,...
2018-02-02 13:54:15
3630
2
原创 Django开发个人博客网站——6、博客网站数据库的设计
我们先从功能上分析,看看这个博客网站需要建立哪些表,每个表中都需要什么字段。首先,最主要的是我们的博客表,名字可以直接叫做Blog,这个表中,肯定要包括以下几点:博客的标题、博客的内容、博客的发表时间、博客的修改时间、博客的分类、博客的点击量。当然,一般情况下还要有博客的作者,因为我们整个网站都是只有我们自己一个人,也就是不包含其它用户,因此作者这里就可以不写了。针对博客的分类,我们可以参考c...
2018-02-02 01:00:37
6705
3
原创 Django开发个人博客网站——5、创建第一个app
1、创建appdjango中的一个app就是一个小的项目,我们通过startapp命令即可创建。可以进入虚拟环境myblog中执行:python manage.py startapp myblog也可以直接在pycharm中的Tools下的run manage.py task下直接执行命令:startapp myblog这样就可以创建出一个根目录下的名为myblog的a...
2018-02-01 23:49:24
3763
2
原创 Django开发个人博客网站——4、更改数据库为mysql
1、安装mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL是一种关系数据库管理系统,关系数据库...
2018-02-01 22:45:48
4958
1
原创 Django开发个人博客网站——3、使用pycharm创建博客项目
1、pycharm介绍 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。pycharm下载安装好后,双击打开,点击file中的new profile,新建...
2018-02-01 21:40:22
9475
4
原创 Django开发个人博客网站——2、通过virtualenv与virtualenvwrapper创建虚拟环境
从这里开始我们就要正式进入个人博客网站的开发了,当然,我们是在windows平台上进行开发的,这样方便调试,对新手来说也比较友好。1、安装Python3.6这里就不再赘述了,可以参考网上的教程:python安装方法- 3.6.3版本需要注意以下几点:一定要选择适合自己电脑系统的版本一定要勾选Add_Python 3.6 to PATH,防止手工添加环境变量 选择安装的属性...
2018-02-01 18:28:50
3426
原创 Django开发个人博客网站——1、开发环境
1、写在前面的话刚最开始自学python,然后学习django框架,中间断断续续有几个月的时间,是时候通过一个项目来检验下自己的学习成果了。既然学习了django web框架,那很自然的就是想到要搭建一个网站了,最常见的个人网站自然就是个人博客。网上有现成的博客框架,比如hexo、wordpress,直接按照他们的文档安装显然达不到django练习的目的。我选择了一个hexo下的极简主题风
2018-02-01 16:15:51
13465
8
原创 django学习——如何实现分页时序号的连续
在django中,一般通过自带的Paginator进行分页,具体内容可以见官方文档。我们在对数据进行循环时,如果需要标上序号,可以采用forloop方法,如下所示:{{ forloop.counter }}具体使用细节,可以见我之前的博客:采用forloop对模板中的数据进行排序然而,通过这种方法,在点击下一页后,序号还是从1开始,不能接着上一页中的最后一个的序号累加。解决思路如下:获得当前页面的
2018-01-27 13:49:15
1548
转载 django学习——django admin 一些有用的设置
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制。以下是我最近摸索总结出比较实用的配置。若你有什么比较好的配置,欢迎补充。 一、基本设置1、应用注册若要把app应用显示在后台管理中,需要在admin.py中注册。这个注册有两种方式,我比较喜欢用装饰器的方式。先看看普通注册方法。打开admin.py文件
2018-01-25 18:28:51
2439
1
原创 django学习——解决博客评论中长串单个英文字母或数字不能换行的问题
在制作博客网站时,对博文的评论系统构建,发现一个奇怪的现象,如果输入长串单个英文字母或数字,浏览器并不能自动换行,会超出指定区域,如下所示:上网搜了下,发现原来是以下原因: 出现这样的现象是由于浏览器认为每个汉字之间是断开,并独立存在的,而英文是以每个单词为独立存在的,没有空格的一连串英文字母或数字则被看做一个连续的单词,所以不能自动换行。 一般在遇到内容不自动换行时只要在CSS中
2018-01-25 18:06:36
572
原创 django学习——通过ajax提交表单
以对博文的评论为例来讲表单的提交,我们希望达到的结果是: 1. 评论完后,可以直接看到自己的评论; 2. 如果评论不正确,比如评论字数超出规定范围,则给出错误提示。如果采用传统的提交表单做法,是可以完成的:templates<form active="{% url 'blog' blog.id %}" method="post" class="comment-form" > {% csr
2018-01-25 17:23:16
2931
原创 django学习——通过regroup方法对对象进行分组
regroup 用相似对象间共有的属性重组列表。比如有以下城市列表,我们想要按照国家名称对其进行分类:cities = [ {'name': 'Mumbai', 'population': '19,000,000', 'country': 'India'}, {'name': 'Calcutta', 'population': '15,000,000', 'country
2018-01-23 11:04:13
1020
原创 django学习——支持markdown语法
建立博客时,在django后台admin写的是纯文本文字,如何以漂亮的排版展现在前端,此时我们可以借助markdown,步骤如下:1、安装markdownpip install markdown2、改写view.py在将内容通过render传递到前端时,对内容通过markdown包装下:import markdownfrom blog.models import Blog
2018-01-22 17:33:15
617
原创 django学习——DateTimeField类型通过date过滤器实现不同形式
建立model时,为表单添加了create_time 字段,如下:create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)其中,auto_now_add=True,意为自动添加创建时间,且不可修改,且在admin后台不会显示出来。此时,得到的时间格式为:2018年1月22日 16:23如果我们想在前端页面显示
2018-01-22 16:56:49
1613
1
原创 django学习——xadmin中集成富文本编辑器ueditor
xadmin为django后台管理系统admin的升级版,点击进入github在对后台进行编辑时,采用百度开源的富文本编辑器ueditor,本文采用djangoueditor,源程序点此进入。由于作者不再对其进行维护,这个版本不再适用于Python3版本,Python3的版本安装 点此进入。对于以上xadmin和djangoueditor 的安装,本人建议直接集成在pycharm中,而不是装在虚拟环
2018-01-20 15:44:56
5819
1
转载 linux学习——Linux系统中挂载和使用光盘的基本步骤
1. 创建挂载点mkdir /mnt/cdrom1在 /mnt 目录下创建一个空文件夹cdrom作为光盘的挂载点(任何一个空目录都可以作为挂载点)。2. 打开光驱,放入光盘如果用的是VMware中的虚拟机,进入虚拟机设置,选择“CD/DVD”硬件,勾选“已连接”和“启动时连接”,在连接处,选择“使用ISO映像文件”,浏览选择本地电脑中下载好的ISO光盘镜像文件,确定即可。
2018-01-18 16:58:43
2506
原创 linux学习——linux的五个查找命令 find、locate、whereis、which、grep
1、findfind是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find的使用格式如下: find - : 所要搜索的目录及其所有子目录。默认为当前目录。 - : 所要搜索的文件的特征。 - : 对搜索结果进行特定的处理。如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上
2018-01-18 14:07:28
1213
原创 linux学习——软链接、硬链接与复制的区别
1、语法:硬链接:ln source source1 软链接:ln -s source source1 复制:cp source source12、含义:硬链接:硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件。软链接:通过软链接建立的链接文件与原文件并不是同一个文件,相当
2018-01-18 10:48:47
9046
2
原创 linux学习——centos7 下网络设置及通过xshell连接
在学习慕课网的课程:linux达人养成计划 时,刚开始便遇到一个问题,通过xshell连接不上虚拟机中安装的centos系统。经过半个下午的反复折腾,终于解决了这个问题,问题主要为:课程中老师安装的为centos 6版本,本人喜欢装新的,装的是centos 7版本,导致输入setup没有网络设置选项,且/etc/sysconfig/network-script 目录下并没有 ifcfg-e
2018-01-17 18:27:05
4260
1
原创 linux学习——centos 7官方阿里云下载地址
centos 7官方阿里云下载地址为:http://mirrors.aliyun.com/centos/7/isos/x86_64/可以选择第一个:CentOS-7-x86_64-DVD-1708.iso 进行下载即可。
2018-01-17 14:28:44
17658
原创 Python学习——Hailstone 冰雹序列
最近看一个学习视频,里面讲了个Hailstone 雹石序列,描述如下:感觉用Python很好实现:#Hailstone序列def haistone(n): hai_list = [] while n > 1: hai_list.append(n) if n%2: #奇数 n = 3*n + 1
2018-01-16 14:38:38
7264
2
原创 linux学习——基本操作命令
1、CD 命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:cd /root/Docements # 切换到目录/root/Docements cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录 cd ../path # 切换
2018-01-15 23:09:41
330
原创 python学习——Python中的列表推导式、字典推导式、集合推导式
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:列表(list)推导式字典(dict)推导式集合(set)推导式1、列表推导式方法:使用[]生成list 一般用法:[ x for x in … if x …]#得到20以内的偶数[x
2018-01-14 13:41:51
404
原创 python学习——对列表中的元素去重并保持原顺序
比如:list1 = [1,2,4,9,5,6,5,2,4,7,8,0] 现在需要对其进行去重,最简单的操作是通过set方法:list2 = list(set(list1))得到:[0, 1, 2, 4, 5, 6, 7, 8, 9]但是这样就改变了原来的顺序,如果我们还想保持原来列表的顺序,可以通过sort()方法中的key字段进行设定:list1 = [1,2,4,9,5,6,5,2,4,7,8
2018-01-12 20:41:43
6434
1
转载 django学习——ModelForm操作
一、内容回顾 Model - 数据库操作 - 验证 class A(MOdel): user = email = pwd = Form - class LoginForm(Form): email = fields.Ema
2018-01-11 16:58:26
677
原创 django学习——如何实现简单的搜索功能
搜索功能的实现是用户在前端页面输入需要搜索的内容,然后通过url传递到后端,后端的视图函数从数据库中查找出指定的对象,然后在传递到前端页面的一个过程。这里主要讲视图函数中的查找过程:view.pyfrom django.db.models import Q#url 为 127.0.0.1:8000/course/list/?keywords=djangodef myapp(request):
2018-01-10 16:28:15
6652
2
原创 django学习——request用法
Django 使用Request 对象和Response 对象在系统间传递状态。当请求一个页面时,Django会建立一个包含请求元数据的 HttpRequest 对象。 当Django 加载对应的视图时,HttpRequest 对象将作为视图函数的第一个参数。每个视图会返回一个HttpResponse 对象。以下列举常用的几种属性:1、request.user一个AUTH_USER...
2018-01-10 15:35:38
5349
原创 django学习——通过HttpResponseRedirect 和 reverse实现重定向
用django开发web应用, 经常会遇到从一个旧的url转向一个新的url,也就是重定向。HttpResponseRedirect:构造函数的第一个参数是必要的 — 用来重定向的地址。这些能够是完全特定的URL地址(比如,’http://www.yahoo.com/search/‘),或者是一个不包含域名的绝对路径地址(例如, ‘/search/’)。from django.http
2018-01-10 11:29:47
24371
原创 Python学习——Python中的可变对象与不可变对象
可变对象:该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。不可变对象:该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。不可变对象:数值类型(int和float)、字符串st
2018-01-10 09:55:37
416
原创 Python学习——Python中的"is"与“==”
Python中一切皆对象,对于两个对象a、b,如果判断它们是否相等,最常用的方法是”==”,即a == b ,如果相等的话,返回True, 否则返回False。在Python中还有一种判断是否相等的方法”is”, 那么 两者有什么不同呢?在讲”is”和”==”这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值
2018-01-10 09:44:12
448
原创 django学习——通过get_FOO_display 查找模型中的choice值
在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等。class Area(models.Model): Area_Level = ( (0, u'全国'), (1, u'省、直辖市'), (2, u'市、直辖市区'), (3,
2018-01-08 11:39:39
4838
1
转载 django学习——django基础知识之Response对象:
HttpResponse对象在django.http模块中定义了HttpResponse对象的APIHttpRequest对象由Django自动创建,HttpResponse对象由程序员创建不调用模板,直接返回数据#coding=utf-8from django.http import HttpResponsedef index(request): return HttpRespons
2018-01-06 13:26:20
833
原创 django学习——media处理上传图片、文件方法设置
版本:django 1.11对于用户上传文件的存储,一般采用media进行处理。以用户头像为例进行说明,处理方法如下:1、模型建立from django.db import modelsfrom django.contrib.auth.models import AbstractUserfrom datetime import datetimeclass UserProfi
2018-01-05 10:38:13
3062
1
转载 python学习——Python日期的加减等操作
1. 日期输出格式化所有日期、时间的api都在datetime模块内。1. datetime => stringnow = datetime.datetime.now()now.strftime('%Y-%m-%d %H:%M:%S')#输出2012-03-05 16:26:23.870105strftime是datetime类的实例方法。2. string => datetimet_s
2018-01-04 21:11:46
3013
1
原创 django学习——model中的get和filter方法的区别
django的get方法是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。django的filter方法是从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在的话,它会返回[]。
2018-01-04 10:37:10
2484
卡尔曼滤波及其在INS-GPS组合导航组合导航中的应用.pdf
2020-05-05
Pandar40_产品手册_禾赛.pdf
2020-04-08
NaveGo a simulation framework for low-cost integrated navigation systems.pdf
2020-04-08
Robosense 16线激光雷达用户手册
2018-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人