运行命令行工具,输入:pip install virtualenv  --安装virtualenv库. virtualenv blog_project_venv ——使用virtualenv创建一个虚拟环境 blog_project_venv\Scripts\activate ——进入刚创建的虚拟环境 pip install django ——在虚拟环境中安装django django-admin.py startproject blog_project ——创建一个项目 python mana…
可以将一些全局变量设置在settingg.py里 #网站的基本信息配置 SITE_NAME = 'John的个人博客' SITE_DESC = '专注学习Python开发,欢迎和大家交流' WEIBO_SINA = 'http://weibo.sina.com/664390' WEIBO_TENCENT = 'http://weibo.qq.com/664390' PRO_RSS = 'http://www.baidu.com' PRO_EMAIL = '664390905@qq.com' 设置…
在models.py内设置数据库模型 # -*- coding=utf-8 -*- from __future__ import unicode_literals from django.db import models from django.contrib.auth.models import AbstractBaseUser # Create your models here. # 用户模型. #第一种:采用的继承方式扩展用户信息(本系统采用) #扩展:关联的方式去扩展用户信息 class…
在项目目录下新建一个 ‘uploads’文件夹以保存上传的文件 配置setting.py文件 MEDIA_URL = '/uploads/' MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') #设置上传的绝对路径 配置urls.py文件,设置路由 from django.conf.urls import url,include from django.contrib import admin from django.conf import settin…
在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.views import index urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', index, name='index') ] 将需要在后台显示的数据库配置在admin.py文件中 from django.contrib imp…
定义日志记录器 可以在setting.py里设置日志记录器 # 自定义日志输出信息 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': { 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(…
下载kindeditor 在admin.py文件中配置链接 class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', #引入主文件 '/static/js/kindeditor-4.1.10/lang/zh_CN.js', #引入中文文件 '/static/js/kindeditor-4.1.10/config.js', #引入配置文件 ) 在kindeditor根目录下创建配置文件config.js,,并配置 K…
Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Django搭建博客网站(三) 要用到的package django-pagedown markdown2 django-pagedown用来在后台生成markdown编辑器,markdown2则是用来将markdown解析成html显示在网页上. install $ pip install django-…
Django 系列博客(四) 前言 本篇博客介绍 django 如何和数据库进行交互并且通过 model 进行数据的增删查改 ORM简介 ORM全称是:Object Relational Mapping(对象关系映射),其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来.举例来说就是,我定义一个对象,那就对应着一张表,这个对象的实例,就对应着表中的一条记录. 比如在大名鼎鼎的 pythonWEB 框架 Django 就是使用了对象关系映射,这个对应 Django 中的 model文…
本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier 1.前言 自学 Python,始于 Django 框架,Scrapy 框架,elasticsearch搜索引擎,最初的目的是毕业设计需求,毕设项目是做一个类似百度的搜索引擎.从2018年二月份毕设课题确定,是我学习Python的开始,到2018年5月份毕设完成,并不是我学习Python的结束.目前仍然从事Python开发工作.是时候通过一个项目来记录一下自己的学习成果了.既然学习了django web框架,…
Django 系列博客(十四) 前言 本篇博客介绍在 html 中使用 ajax 与后台进行数据交互. 什么是 ajax ajax(Asynchronous Javascript And XML)翻译成中文就是''异步 JavaScript 和 XML''.即使用 JavaScript 语言与服务器进行异步交互,传输的数据为 XML(现在更多地使用 json). 同步交互:客户端发出一个请求后,需要等待服务器响应结束,才能发出第二个请求: 异步交互:客户端发出一个请求后,无需等待服务器响应结束,…
原文链接: http://www.jianshu.com/p/dbc4193b4f95 Django Model 每一个Django Model都继承自django.db.models.Model 在Model当中每一个属性attribute都代表一个database field 通过Django Model API可以执行数据库的增删改查, 而不需要写一些数据库的查询语句 设置数据库 Django项目建成后, 默认设置了使用SQLite数据库, 在my_blog/my_blog/setting…
Django 系列博客(一) 前言 学习了 python 这么久,终于到了Django 框架.这可以说是 python 名气最大的web 框架了,那么从今天开始会开始从 Django框架的安装到使用一步步的学习,这系列博客不会像前端的那样水了(立个 flag),希望可以成为高质量的博客.那么本篇博客介绍 Django 的安装以及如何在电脑上运行第一个 Django 应用. Django 的安装 Django 的安装很简单,在 win 和 mac 上面都可以使用 pip 安装命令安装,也可以通过…
上一篇博客介绍了comments库使用及ajax支持,现在blog已经具备了基本的功能,但是只能发表文字,不支持富文本编辑.今天我们利用markdown添加富文本支持. markdown语法说明: http://wowubuntu.com/markdown/ http://markdown.tw/ http://mahua.jser.me/ 推荐第三个,可以直接在线编辑markdown文档. django添加markdown支持 首先需要安装markdown  安装说明 : http://dar…
首先还是贴一下源代码地址  https://github.com/goodspeedcheng/sblog 上一篇博客我们介绍了 django 如何在views中使用templates以及一些常用的数据操作,这篇博客将介绍静态文件的使用.from 应用与自定义 1.静态文件的使用 鉴于我们上次所看到的界面惨不忍睹,为了不影响心情,先介绍一下如何使用静态文件美化界面 首先新建static目录,目录下新建css/js/img三个目录 修改seeting.py文件 STATICFILES_DIRS =…
首先还是贴一下项目地址  https://github.com/goodspeedcheng/sblog   因为代码全在上面 上一篇博客我们介绍了 django的安装配置,新建project,新建app,app配置以及admin的使用,现在让我们来了解一下模板的使用和模型数据的显示. 1.首先介绍如何在视图中使用模板 方法1 from django.template import Template, Context from django.http import HttpResponse im…
企业级教程:纯django开发博客系统 1.视频教程 https://www.duanshuilu.com/ 2.教程文档 https://www.duanshuilu.com/ 0.课程简介1.简价 一,准备工作电脑系统设置pycharm安装和其它(懂的)Anaconda安装(为什么要用它)Anaconda创建虚拟环境Anaconda配置Pycharm或vscode的神奇效果配置好静态文件配置为中文环境以及其它配置 二,开始项目开发的思路说明CSS用法(2个功能:布局和修饰页面标签)一天熟练掌…
前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Travis自动部署Hexo,本文介绍另外一种方式来实现. 是通过GitHub API来实现的,用到了Linux中的sed命令. 新建Access Token Personal Access Token是用于操作repo的口令. 点击用户图像,然后点击Settings(设置)选项. 进入设置面板后,点击左侧…
CSDN博客第三期最佳移动开发博主评选圆满结束,恭喜所有上榜用户,为继续展示移动开发方向优秀博主,发掘潜力新星,为移动开发方向的博客用户提供平台,CSDN博客第四期移动开发最佳博主评选开始.同时,获奖者有机会成为CSDN移动开发者俱乐部特约讲师和俱乐部管理员.欢迎更多移动开发方向的博主写博文.发评论.写出精彩,评出气势!(发发博文记得选择分类哦)赶快行动吧!我们会陆续推出不同领域的排行榜,敬请期待……   [活动时间]2013年08月27日-2013年09月15日 [排行榜规则] 原创榜:在活动…
Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用view展示首页,标签页,网站管理员(也就是本人啦)信息页,以及文章详情页. settings.py 因为到这个阶段需要编写html文件了,但是每一个网页的每一行代码都靠自己去写,各种渲染也靠自己去写的话,太麻烦了,Django提供了html模板功能,可以在settings.py里面进行配置. #…
Django搭建自己的博客网站(二) 这里主要讲构建系统数据库Model. Django搭建博客网站(一) model 目前就只提供一个文章model和一个文章分类标签model,在post/models.py中做如下修改: # models.py from django.db import models class PostTag(models.Model): tag_name = models.CharField(max_length=50) def __str__(self): retur…
背景:通常我们创建一个django系统时,为了把业务模块划分清楚往往会把一个独立的业务模块放到一个app中,如果多个独立的业务模块就会创建多个app,一般情况下为了更好的管理这些app,会把他们都存放到一个apps的文件夹目录(python package). 如何创建apps目录(python package) 新建app 1)执行新建app命令: 要先进入项目目录下,cd project_name 然后执行下面的命令(下同,已经在项目目录下则不需要 cd project_name) pyth…
在上一篇博客Todolist的基础上(http://blog.csdn.net/hcx25909/article/details/24251427),本周继续进行实践,这次我要搭建一个简单的博客系统.网上讲Django的博客有很多,但是有一定难度并且进行了系统讲解的并不是很多,不是很适合进一步学习,找到的一些不错的资源如下: Django简易博客开发:http://www.cnblogs.com/cacique/archive/2012/09/29/2707976.html Django个人博客…
Django 系列博客(十六) 前言 本篇博客介绍 Django 的 forms 组件. 基本属性介绍 创建 forms 类时,主要涉及到字段和插件,字段用于对用户请求数据的验证,插件用于自动生成 html. Form 类内置字段介绍 Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_mes…
Django 系列博客(十三) 前言 本篇博客介绍 Django 中的常用字段和参数. ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True.当 model 中如果没有自增列,则会自动创建一个列名为 id 的列. IntegerField 一个整数类型,范围在-2147483648 to 2147483647. CharField 字符类型,必须提供max_length参数, max_length表示字符长度. DateField 日期字段,日期格式…
Django 系列博客(十二) 前言 本篇博客继续介绍 Django 中的查询,分别为聚合查询和分组查询,以及 F 和 Q 查询. 聚合查询 语法:aggregate(*args, **kwargs) # 计算所有图书的平均价格 from django.db.models import Avg Book.objects.all().aggregate(Avg('price')) aggregate()是 QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典.键的名称是聚合值…
Django 系列博客(十一) 前言 本篇博客介绍使用 ORM 来进行多表的操作,当然重点在查询方面. 创建表 实例: 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one). 出版商模型:出版商有名称,所在城市. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一…
Django 系列博客(十) 前言 本篇博客介绍在 Django 中如何对数据库进行增删查改,主要为对单表进行操作. ORM简介 查询数据层次图解:如果操作 mysql,ORM 是在 pymysql 之上又进行了一层封装. MVC 或者 MTV 框架中包括一个重要的部分,就是 ORM,它实现了数据模型与数据库的解耦合,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,极大地减轻了工作量,不需要面对因数据变更而导致的无效劳动. ORM 是''对象-关系-映射''的简称…
Django 系列博客(九) 前言 本篇博客介绍 Django 模板的导入与继承以及导入导入静态文件的几种方式. 模板导入 模板导入 语法:``{% include '模板名称' %} 如下: <!-- base.html --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> <link rel=…
Django 系列博客(八) 前言 本篇博客介绍 Django 中的模板层,模板都是Django 使用相关函数渲染后传输给前端在显式的,为了想要渲染出我们想要的数据,需要学习模板语法,相关过滤器.标签. 模板简介 你可能注意到下面的例子返回文本的方式有点特别.当我们使用相关函数来渲染模板的时候,首先是打开了模板文件,然后将需要传入的参数填到文件中在返回给前端. def current_datetime(request): now = datetime.datetime.now() html =…