现在正式开始博客开发 1.安装django1.4 如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境 django下载地址 https://www.djangoproject.com/download/  这里我们选择最新版 然后在终端下打开下载目录 tar xzvf Django-*.tar.gz . cd Django-* . sudo python setup.py install 如果系同时window 解压后再控制台进入解压后的目…
企业级教程:纯django开发博客系统 1.视频教程 https://www.duanshuilu.com/ 2.教程文档 https://www.duanshuilu.com/ 0.课程简介1.简价 一,准备工作电脑系统设置pycharm安装和其它(懂的)Anaconda安装(为什么要用它)Anaconda创建虚拟环境Anaconda配置Pycharm或vscode的神奇效果配置好静态文件配置为中文环境以及其它配置 二,开始项目开发的思路说明CSS用法(2个功能:布局和修饰页面标签)一天熟练掌…
背景 上一次把markdown集成之后.发现还是有非常多问题. 这次须要做一些优化. 1.markdown与普通文本的差别显示. 2.添加点击量的统计 3.加入名片卡的滑动 版本号相关 操作系统:Mac OS X EI Caption Python版本号:3.4 Django版本号:1.9 IDE:PyCharm markdown的优化 我试着转载其它博客的内容过来.发现非markdown格式的文本转过来显示的非常丑非常丑,差点儿没办法看,所以针对这个须要做一些优化.刚好之前数据库的字段定义的太…
在写点击博客的所属分类,显示所有该分类的文章时真是让我想了好一会,为什么呢?因为我使用的是cbv模式开发的而不是简单的视图处理逻辑的,所以,有些操作会被包装好了,你并不知道它的细节,那么我们今天要实现的这个功能需要得到GET请求的category参数,那就麻烦了. 一开始,我以为需要重写它包装好的get()函数,结果弄了好一会后发现根本不好用. 后来,实在是没办法了,参照网上的说法,看了一看django源码,哇,效果果然显著,原来我们继承的ListView和MultipleObjectMixin…
说起这个侧栏真是苦恼我很长时间,一开始以为和之前的一样传递额外参数就可以了就像下面这样: class IndexView(ListView): template_name = 'apps/index.html' context_object_name = 'article_list' def get_queryset(self): article_list = Article.objects.filter(status='p') return article_list def get_conte…
其实在django中实现一个功能只需要三个步骤即可,这里我姑且叫它三部曲. 这三部曲就是: 定义urls映射 定义views 定义templates 什么是URL? URL就算一个WEB地址,你在浏览器输入这个地址,然后浏览器返回相应的网页给你. 比如http://djangogirls.com是一个URL,而127.0.0.1:8000同样也是个URL,默认就是http协议的. Django中的URL工作原理 我们打开mysite/urls.py文件,会发现类似下面这样: 1234567891…
django的模型就是用于在数据库中存储的某种类型的对象.在我们的博客系统中, 发表的文章就是一个模型,需要存储在数据库中. 这里我们使用django默认的sqlite3库,对于我们的这个小系统而言已经足够了. 创建一个应用 在django中有两个概念需要弄清楚.一个是工程(project)的概念,一个是应用(application)的概念. 它们的关系是:一个工程中包含多个应用.每个应用都是独立的,应用通过setting.py注册到工程中来就可以使用了. 这样可以解耦合,并且好的应用也可以复用…
Django是神马? Django是一个开源免费的Web框架,使用Python编写.能够让你快速写出一个Web应用, 因为它包含了绝大部分的组件,比如认证,表单,ORM,Session,安全,文件上传,页面模板等,避免了重复造轮子. 官方网站:https://www.djangoproject.com/ 笔者写这篇教程的时候,最新版本是1.9 安装Django1.9 安装python虚拟环境 为了开发应用的时候使用单独的环境,最好是安装virtual environment, 这样有很好的独立性…
针对每条博客的观看次数我么是使用django的Mixin实现的: def get(self, request, *args, **kwargs): last_visit = request.session.get('last_visit') reset_last_visit_time = False if last_visit: last_visit_time = datetime.datetime.strptime(last_visit[:-7], "%Y-%m-%d %H:%M:%S&quo…
1.什么是CBV(Class-based views) 2.博客首页及博客详情实现 1.什么是CBV 什么是CBV?说白了就是以前是视图为处理请求返回响应的函数,有了cbv之后我们就可以用类处理请求和响应,django提供了一些generic view用来实现相应的功能,比如ListView就是用来显示列表形式的数据,DetailView就是用来显示数据详细信息的,我们使用他们的时候只需要继承这些类并按照要求提供数据就可以了. 它提供给我们的功能有什么呢?比如template_view='ind…