Django框架|个人博客网站小项目
一、创建工程
该项目以GitHub为源码托管网站
1. 创建源码远程仓库:blog
2. 克隆远程仓库
注意:需要安装git,windows终端输入“git”,测试环境
注意:需要安装虚拟环境(python3):pip install virtualenvwrapper-win
附:
3. 创建工程
(1)进入本地仓库目录
cd blog/
(2)创建博客项目虚拟环境,并在此项目下安装Django框架
mkvirtualenv -p python3 blog
pip install django==2.2
(3)创建博客项目工程
django-admin startproject blog
(4)运行程序,测试结果
如图,Django工程创建成功!
Ctrl+C停止工程
4. 提交代码
cd ..
git add .
git commit -m 'createproject'
git push
2. 工程配置
(1)配置Mysql数据库
进入虚拟环境blog
workon blog
链接Mysql
mysql -uroot -p123123 //其中root是用户名,123123是密码(根据自己的mysql)
新建Mysql数据库:blog
create database blog charset=utf8;
新建Mysql用户:blog
create user huwei identified by '123123'; //其中huwei是用户名,123123是密码(自定义)
授权用户huwei访问blog数据库
grant all on blog.* to 'huwei'@'%';
授权结束后,刷新特权
flush privileges;
使用pycharm打开桌面的blog下的blog文件夹
配置Python Interpreter ,File ——> Settings ——> Project: blog ——> Python Interpreter
打开settings.py,配置Mysql
将
改为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'HOST': '127.0.0.1', # 数据库主机
'PORT': 3306, # 数据库端口
'USER': 'huwei', # 数据库用户名
'PASSWORD': '123123', # 数据库用户密码
'NAME': 'blog' # 数据库名
}
}
运行该Django项目
Django中操作Mysql数据库需要驱动程序MySQLdb,而目前项目虚拟环境中没有驱动程序MySQLdb
MySQLdb只适用于Python2.x的版本,Python3.x的版本中使用PyMySQL代替MySQLdb,故应该安装PyMySQL扩展包
安装PyMySQL驱动程序
提供三种安装方式,确保在该虚拟环境下安装
- 直接在Settings里点击“+”,搜索pymysql
- 在pycharm终端输入命令:pip install PyMySQL
- 通过Windows终端,进入项目下
在工程同名子目录下的__init__.py文件中,添加如下代码:
import pymysql
pymysql.install_as_MySQLdb()
配置完成后,运行程序,测试结果
复制网址,在浏览器打开
配置成功!
提交配置修改
(2)配置Redis数据库
安装Django-redis扩展包
pip install django-redis //注意是安装在虚拟环境下,可参考前面介绍的三种方法
打开settings.py,在末尾加入以下代码,配置Redis
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0", # 0号库
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
"session": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1", # 1号库
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
# session由数据库存储改为redis
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "session"
启动redis-server,测试
在此之前,电脑需要安装redis
可参考:https://blog.csdn.net/weixin_41381863/article/details/88231397
注意:我初次安装redis,在使用:redis-server命令启动redis时,出现了错误:
“Could not create server TCP listening socket *:6379: bind: Address already in use“,而且终端没有出现redis图案
通过搜索,得到解决方案,在终端输入:redis-cli -a <你的密码> shutdown,再启动即可
安装django-redis扩展包
配置成功!
(3)配置日志
新建logs文件夹
打开settings.py,在末尾加入以下代码,配置日志
#日志
LOGGING = {
'version': 1,
'disable_existing_loggers': False, # 是否禁用已经存在的日志器
'formatters': { # 日志信息显示的格式
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': { # 对日志进行过滤
'require_debug_true': { # django在debug模式下才输出日志
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': { # 日志处理方法
'console': { # 向终端中输出日志
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': { # 向文件中输出日志
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, 'logs/blog.log'), # 日志文件的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': { # 日志器
'django': { # 定义了一个名为django的日志器
'handlers': ['console', 'file'], # 可以同时向终端与文件中输出日志
'propagate': True, # 是否继续传递日志信息
'level': 'INFO', # 日志器接收的最低日志级别
},
}
}
编辑urls.py
运行项目,logs文件夹下多出一个blog.log文件,访问网址,然后即可查看blog.log文件的日志
未完待更!!!