一、安装git

这是Windows下的安装地址,安装都是无脑next

二、在github上面下载项目

1.在本地选择一个文件目录,在此目录下下载项目,我的目录是D:\workplace\

2.右击该目录下的空白部分,会看到菜单有git bash选项,直接点击。

3.输入以下命令

git init //初始化git

git clone https://github.com/HuJieRu/djangoBlog.git//拷贝项目

4.等待完成之后就下载好了

三、启动项目

1.下载前端需要的依赖包

cd djangoBlog/vue-blog //进入vue-blog目录

npm install //下载

npm run build//编译一下文件

2.安装mysql 数据库并启动

此项目的数据库配置在settings.py文件里面,要更改的请自行更改

DATABASES ={'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'blog', //数据库名称

'USER': 'root', //用户名

'PASSWORD': '123456', //密码

'HOST': 'localhost', //地址

'PORT': '3306', //端口

}

}

3.安装django

4.期间可能会需要下载pytz、mysql-python等

5.进入项目根目录

执行以下命令

python manage.py runserver

项目即可启动成功,在浏览器输入localhost:8000即可看到项目

四、django项目构建和前端编写

2.vue-blog就是前端主要编写的地方,该项目目录是参考vuejs官网的构建方法,非常简单,在这也不赘述

3.在我的项目中vue-blog就是前端,blog就是后端

4.使用webpack进行打包

进入vue-blog,执行如下命令即可打包

npm run build

打包完在前端根目录下会出现以下文件,只要有index.html和static文件夹就好了

5.使用Django的通用视图 TemplateView

找到项目根 urls.py (即djangoBlog/urls.py),使用通用视图创建最简单的模板控制器,访问 『/』时直接返回 index.html

from django.views.generic.baseimport TemplateView

urlpatterns=[

url(r'^$', TemplateView.as_view(template_name="index.html")),

]

6.配置Django项目的模板搜索路径

上一步使用了Django的模板系统,所以需要配置一下模板使Django知道从哪里找到index.html

打开 settings.py (djangoBlog/settings.py),找到TEMPLATES配置项,修改如下:

TEMPLATES =[

{'BACKEND': 'django.template.backends.django.DjangoTemplates',

#'DIRS': [],'DIRS': ['vue-blog/dist'],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',

],

},

},

]

7.配置静态文件搜索路径

打开 settings.py (djangoBlog/settings.py),找到 STATICFILES_DIRS 配置项,配置如下:

#Add forVue.js

STATICFILES_DIRS=[

os.path.join(BASE_DIR,"vue-blog/dist/static"),

]

然后运行项目就可以看到所谓的vue界面了。

五、建立数据库

1.首先在models.py(blog/models.py)文件写入以下模型

from__future__ import unicode_literalsfromdjango.db import models

# Create your models here.

#用户信息表classUserMessage(models.Model):

email=models.EmailField("邮箱地址")

gender=models.IntegerField("性别")

def __unicode__(self):returnself.email

#用户表classUser(models.Model):

name=models.CharField("用户名称",max_length=10)

password=models.CharField("用户密码",max_length=30)

message=models.OneToOneField(UserMessage,verbose_name="用户信息id")

update_time=models.DateTimeField("更新时间")

create_time=models.DateTimeField("创建时间")

def __unicode__(self):returnself.name

#标签表classTag(models.Model):

name=models.CharField("标签名称",max_length=10)

def __unicode__(self):returnself.name

#分类表classArticleClassify(models.Model):

name=models.CharField("分类名称",max_length=10)

parent_id=models.IntegerField("父id")

def __unicode__(self):returnself.name

#文章表classArticle(models.Model):

title=models.CharField("文章标题",max_length=30)

content=models.TextField("文章内容")

author=models.ForeignKey(User,verbose_name="文章作者id")

tag= models.ManyToManyField(Tag,verbose_name="标签")

classify=models.ForeignKey(ArticleClassify,verbose_name="分类id")

browse=models.IntegerField("阅读量",default=0)

status=models.IntegerField("文章状态,0:存在,1:已删除",default=0)

update_time=models.DateTimeField("更新时间")

create_time=models.DateTimeField("创建时间")

def __unicode__(self):return self.title

2.构建数据库

可以选择自己重新生成

python manage.py makemigrations #列出数据库操作

python manage.py migrate #执行操作

也可以直接导入数据库,sql文件在DB文件夹下

六、构建日志服务

1.在根目录创建logger文件夹,如下:

这些文件里面的内容为空即可

2.在settings.py导入日志服务模块:

import logging

import django.utils.log

import logging.handlers

3.配置日志服务信息:

LOGGING ={'version': 1,'disable_existing_loggers': True,'formatters': {'standard': {'format': '%(asctime)s [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}

},'filters': {

},'handlers': {'mail_admins': {'level': 'ERROR','class': 'django.utils.log.AdminEmailHandler','include_html': True,

},'default': {'level':'DEBUG','class':'logging.handlers.RotatingFileHandler','filename': 'logger/all.log','maxBytes': 1024*1024*5,'backupCount': 5,'formatter':'standard',

},'error': {'level':'ERROR','class':'logging.handlers.RotatingFileHandler','filename': 'logger/error.log','maxBytes':1024*1024*5,'backupCount': 5,'formatter':'standard',

},'console':{'level': 'DEBUG','class': 'logging.StreamHandler','formatter': 'standard'},'request_handler': {'level':'DEBUG','class':'logging.handlers.RotatingFileHandler','filename': 'logger/request.log','maxBytes': 1024*1024*5,'backupCount': 5,'formatter':'standard',

},'scprits_handler': {'level':'DEBUG','class':'logging.handlers.RotatingFileHandler','filename':'logger/scprits.log','maxBytes': 1024*1024*5,'backupCount': 5,'formatter':'standard',

}

},'loggers': {'django': {'handlers': ['default', 'console'],'level': 'DEBUG','propagate': False

},'django.request': {'handlers': ['request_handler'],'level': 'DEBUG','propagate': False,

},'scripts': {'handlers': ['scprits_handler'],'level': 'INFO','propagate': False

},'sourceDns.webdns.views': {'handlers': ['default', 'error'],'level': 'DEBUG','propagate': True

},'sourceDns.webdns.util':{'handlers': ['error'],'level': 'ERROR','propagate': True

}

}

}

4.使用日志服务,在views.py(blog/)文件下添加如下代码就可以在该文件中使用logging了

import logging

# Get an instance of a logger

logger= logging.getLogger('sourceDns.webdns.views')

使用python开发vue_使用Python2.7.13+django1.11.2+vue2.0开发的个人博客网站相关推荐

  1. Django开发个人博客网站——1、开发环境

    1.写在前面的话 刚最开始自学python,然后学习django框架,中间断断续续有几个月的时间,是时候通过一个项目来检验下自己的学习成果了.既然学习了django web框架,那很自然的就是想到要搭 ...

  2. pbp 读取 mysql数据_pbp: Django项目开发,个人博客网站类。

    pbp 项目介绍 首个Django项目开发,个人博客网站类. 框架模型 Django 运行平台 Linux 安装部署 1.安装Python3环境 CentOS 7 curl -o /etc/yum.r ...

  3. python flask实现博客系统_基于Flask的博客网站设计与实现

    涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...

  4. html编写个人博客_Django 开发简易博客网站

    本篇使用 Django 开发博客网站的核心内容,涉及 Django .MySQL .WampServer :我比较喜欢 Django 框架的 MVC (模型.视图.控制器)的软件设计模式,其中我最喜欢 ...

  5. [Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  6. c#使用正则表达式获取TR中的多个TD_[Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例...

    首先祝大家中秋节和国庆节快乐,欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都 ...

  7. python资源网站_Python 博客网站资源

    # Python 博客网站资源 * **本人编写的 Python 系列文章** 本草根编写的 Python 文章,里面有各种例子代码 传送门: [Gitbook](https://www.readwi ...

  8. java毕业论文_【毕业论文】基于java的博客网站设计与开发毕业论文(word文档)

    <[毕业论文]基于java的博客网站设计与开发毕业论文.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于java的博客网站设计与开发毕业论文(word文档)>相 ...

  9. Thinkphp5开发个人博客网站源码+技术交流分享

    正文: Thinkphp5开发个人博客网站源码+技术交流分享,TP5.0博客系统源码,支持QQ一键登录,. 安装说明: 1.将程序上传到网站根目录. 2.导入数据库文件 boke.sql 3.appl ...

最新文章

  1. [hive] hive 内部表和外部表
  2. clion 远程调试配置失败 Failed to reload 错误
  3. JavaScript代码(一)
  4. # PHP - 使用PHPMailer发邮件
  5. 在控制台中录入学生成绩,计算总分,最高分,最低分(Python)
  6. linux系统安装佳能打印机驱动,在ubuntu16.04 64-bit上安装佳能打印机驱动Linux_UFRII_PrinterDriver_V320_us_EN...
  7. c4.5算法python实现_算法:用Python实现—最优化算法
  8. RTX5 | 时间延时
  9. 中国科学院计算机网络信息中心领导,中国科学院计算机网络信息中心
  10. java 反编译修改软件名字_反编译APK更改文件的文字(修改应用名称)
  11. VS2015 优化选项的开启
  12. 复制文字到剪贴板的几种方法
  13. 调研之路 --- MXF
  14. 简单的Charles抓包ios微信网页
  15. 神经元如何将视觉世界映射到人脑?
  16. 被问到项目亮点、难点、遇到的问题、解决思路
  17. 虚拟机 服务器死机,VMware虚拟机开机卡死黑屏,进不了系统解决办法
  18. android之ExoPlayer探索
  19. 嵌入式蓝桥杯G431RBT6 串口配置及使用方法cube MX
  20. 雍正《连平州志·序》:揭秘连平起源之迷

热门文章

  1. DELL服务器如何做raid-5
  2. 用户登录测试用例怎么写呢?
  3. 十大排序算法(演示动画)
  4. element确认提示框内容换行
  5. 为什么要初始化CSS样式
  6. linux系统桌面黑屏,Ubuntu10.04启动黑屏解决办法
  7. 腾讯2019财报:理财通用户量超2亿
  8. 了解描述页模板,让你的宝贝人气高涨1
  9. 2023年1月9日:fastadmin在列表操作列区域添加按钮及控制已有按钮显示
  10. 在文件夹里快速查找一个文件?快捷键?如果按文件的前缀开头查找呢?