使用Python2.7.13+django1.11.2+vue2.0开发的个人博客网站

news/2024/5/15 0:24:00/文章来源:https://blog.csdn.net/weixin_30776863/article/details/95246329

一、安装git

https://git-for-windows.github.io/

这是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项目构建和前端编写

1.django项目构建可以参考我的另一篇博客,在这里就不赘述,这是博客地址http://www.cnblogs.com/jieru/p/7095351.html

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.base import TemplateViewurlpatterns = [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 for Vue.js
STATICFILES_DIRS = [os.path.join(BASE_DIR, "vue-blog/dist/static"),
]

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

五、建立数据库

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

from __future__ import unicode_literalsfrom django.db import models# Create your models here.
#用户信息表
class UserMessage(models.Model):email=models.EmailField("邮箱地址")gender=models.IntegerField("性别")def __unicode__(self):return self.email
#用户表
class User(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):return self.name
#标签表
class Tag(models.Model):name=models.CharField("标签名称",max_length=10)def __unicode__(self):return self.name
#分类表
class ArticleClassify(models.Model):name=models.CharField("分类名称",max_length=10)parent_id=models.IntegerField("父id")def __unicode__(self):return self.name
#文章表
class Article(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')

 

转载于:https://www.cnblogs.com/jieru/p/7144707.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_775322.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站架构演进(1)单机网站

初始阶段的网站一般访问量都很小(QPS<500)&#xff0c;此时只需要一台服务器就足够&#xff0c;应用程序&#xff0c;数据库和文件都放在这一台服务器上。如果是.net的话&#xff0c;通常操作系统使用windows server&#xff0c;应用程序开发使用asp.net&#xff0c;然后应用…

经济学自身利益最大化_成都网站建设:建设什么样的网站才能收获利益最大化...

成都网站建设&#xff0c;认准成都绘景志成科技&#xff01;在这个大数据的互联网时代&#xff0c;网站就是企业的经营载体&#xff0c;网站运营的结果也是企业运营利益的体现&#xff0c;那么建设什么样的网站才能协助企业实现运营利益最大化呢&#xff1f;一、建设差别化的网…

git上传网站到服务器上,git上传到远程服务器

git上传到远程服务器 内容精选换一换代码托管服务支持您将本地的代码进行Git初始化并上传到CodeHub仓库。不选择“选择gitignore”。不勾选“允许生成README文件”。如果原来是来自SVN服务器的&#xff0c;建议参考 将SVN代码库迁移到Git代码库。如果原来没有纳入过任何的版本系…

Asp.Net网站的的编译与发布原理

如下所示创建一个简单的asp.Net Web应用程序 在VS中生成解决方案之后&#xff0c;可以在项目的目录下看到以下的文件&#xff1a;当我们通过VS将网站发布出去之后&#xff0c;可以看到&#xff0c;最后生成的文件&#xff0c;如下图所示&#xff1a;我们可以发现&#xff0c;发…

中型网站搭建运行思路

转载于:https://www.cnblogs.com/shark1100913/p/5558454.html

编写计科院网站首页的静态网页

界面&#xff1a; 百度网盘 &#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1ZH3cmWRMsfQMPrCcKqXVmQ 提取码&#xff1a;8y1k 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 转载于:https://www.cnblogs.com/huyangrong/p/10565518.html

SEO优化

众所周知&#xff0c;百度采取的是竞价排名&#xff1a;1.最关键的是给钱&#xff0c;钱越多&#xff0c;网站排名越靠前 2.是SEO优化&#xff0c;采取更加符合百度爬虫习惯的页面编写&#xff01; 通常中小型公司都拿不起这个钱来进行竞价排名&#xff0c;所以他们一般都会有一…

IIS 7.5 发布Web 网站步骤

1. 添加删除程序中&#xff0c;点击打开或关闭Window 功能 , 如图 &#xff0c; 勾选: 2. 打开 vs开发工具 控置台程序 &#xff0c; 注册 aspnet_regiis -i 3.设置应用程序域为指定版本 4.设置应用程序域 .Net Framework 版本 5. 设置应用程序域运行环境 转载于:https://www.c…

php 如何修改页面,【html网站模板代码】HTML页面如何嵌入PHP代码?如何修改免费网页模板的内容?...

【html网站模板代码】HTML页面如何嵌入PHP代码?如何修改免费网页模板的内容?下面就和小编一起来看看吧!HTML页面如何嵌入PHP代码?回答你的靠前个问题:事实上&#xff0c;文件名称不应该改为html或php&#xff0c;但是在在这个浏览器中&#xff0c;有一种方法可以输入html来执…

2017年最新15个漂亮的 HTML 摄影网站模板

摄影是一门艺术&#xff0c;它需要大量的耐心和努力工作来捕捉那些精彩的瞬间。如果你是一位热情的摄影师&#xff0c;想要建立一个网站来展示那些高质量的摄影作品&#xff0c;那么你找对地方了。本文包含15个最佳的摄影网站模板&#xff0c;你可以使用这些 HTML 模板创建自己…

网站嵌入虚拟试衣间方案问题

网站嵌入虚拟试衣间方案问题 好买衣虚拟试衣间目前只接入天猫和淘宝的店铺&#xff0c;只有手机版&#xff0c;不考虑跟其他平台合作。 衣(Yi)没有虚拟试衣功能&#xff0c;PK明星衣品功能可以提供API&#xff0c;虚拟试衣及服饰推荐可以具体沟通后提供定制化的服务&#xff08…

大型网站系统架构演化之路

前言 一个成熟的大型网站&#xff08;如淘宝、京东等&#xff09;的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性&#xff0c;它总是随着用户量 的增加&#xff0c;业务功能的扩展 逐渐演变完善的&#xff0c;在这个过程中&#xff0c;开发模式、技术架构、设…

瞬时响应:网站的高性能架构

什么叫高性能的网站&#xff1f; 两个网站性能架构设计方案&#xff1a;A方案和B方案&#xff0c;A方案在小于100个并发用户访问时&#xff0c;每个请求的响应时间是1秒&#xff0c;当并发请求达到200的时候&#xff0c;请求的响应时间将骤增到10秒。B方案不管是100个并发用户访…

OmniGraffle导入stencils的两个方法以及优质的stencils下载网站推荐

今天写论文&#xff0c;需要画几个电路结构图&#xff0c;可是现在是WannaCry勒索病毒正肆虐的时候&#xff0c;不想用教研室的win7啊&#xff01;&#xff08;其实只是想搞清楚mac下到底有没有visio那样好用的可以导入很多模版的画流程图结构图等的利器。。。&#xff09; 之前…

36氪上的这七家程序员网站你都了解吗?

2019独角兽企业重金招聘Python工程师标准>>> 我始终相信程序员交付的不是代码&#xff0c;是价值&#xff0c;所以在万众创新下程序员成了最受伤的群体&#xff0c;36氪上的好的项目举不胜举&#xff0c;但是真正为程序员服务的都有哪些呢&#xff1f;让我们一起来看…

如何发布一个网站

如何发布一个网站所需材料&#xff1a;网站空间&#xff08;服务器&#xff09;、域名、FTP软件、网站源程序步骤&#xff1a;1、首先购买空间、域名根据自己使用的编程语言来选择合适的操作系统。如网站使用ASP.net编写的&#xff0c;请选用Windows系列虚拟主机。使用PHP的&am…

谈谈个人网站的建立(二)—— lucene的使用

首先&#xff0c;帮忙点击一下我的网站http://www.wenzhihuai.com/ 。谢谢啊&#xff0c;如果可以&#xff0c;GitHub上麻烦给个star&#xff0c;以后面试能讲讲这个项目&#xff0c;GitHub地址https://github.com/Zephery/newblog 。 Lucene的整体架构 搜索引擎的几个重要概念…

网址导航类的网站为什么会没落

今天要谈论的话题是关于网址导航的&#xff0c;在我看来&#xff0c;其实这是一种已经没落的网站行业。目前还能生存下来的网址导航有hao123网址导航、2345网址导航&#xff0c;除此之外&#xff0c;还有很多互联网公司推出了适配自己产品的网址导航&#xff0c;例如搜狗网址导…

网站优化怎么做?怎么才会有排名,流量收录

什么是推送&#xff1f; 对于SEO人员应该都不陌生吧&#xff0c;推送就是把网站的链接主动提交给搜索引擎&#xff0c; 确保新的链接可以尽快被收录&#xff0c;同时保护原创&#xff08;防止别人抄袭&#xff0c;以及转载后导致自己的网站没收录&#xff09; 为什么我们要去…

免费采集工具之打造网站高质量内容

搜索引擎为什么一直不收录我的网站&#xff1f;为什么我的网站一直没有排名是不是我网站被K了&#xff1f;怎么让搜索引擎快速收录我的网站呢&#xff1f;这是最近很多站长问我的问题&#xff0c;今天笔者就针对这些问题发表一些我的见解。 首先我们要知道SEO做到最后做的是什…