Django框架|个人博客网站小项目

Django框架|个人博客网站小项目

一、创建工程

该项目以GitHub为源码托管网站

1. 创建源码远程仓库:blog

Django框架|个人博客网站小项目

Django框架|个人博客网站小项目
Django框架|个人博客网站小项目

2. 克隆远程仓库

注意:需要安装git,windows终端输入“git”,测试环境

Django框架|个人博客网站小项目
Django框架|个人博客网站小项目

注意:需要安装虚拟环境(python3):pip install virtualenvwrapper-win
附:Django框架|个人博客网站小项目

3. 创建工程

(1)进入本地仓库目录

cd blog/

(2)创建博客项目虚拟环境,并在此项目下安装Django框架

mkvirtualenv -p python3 blog

pip install django==2.2

(3)创建博客项目工程

django-admin startproject blog

(4)运行程序,测试结果

Django框架|个人博客网站小项目
Django框架|个人博客网站小项目
如图,Django工程创建成功!
Ctrl+C停止工程

4. 提交代码

cd ..
git add .
git commit -m 'createproject'
git push

Django框架|个人博客网站小项目

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文件夹
Django框架|个人博客网站小项目
配置Python Interpreter ,File ——> Settings ——> Project: blog ——> Python Interpreter
Django框架|个人博客网站小项目
打开settings.py,配置Mysql


Django框架|个人博客网站小项目
改为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 数据库引擎
        'HOST': '127.0.0.1',  # 数据库主机
        'PORT': 3306,  # 数据库端口
        'USER': 'huwei',  # 数据库用户名
        'PASSWORD': '123123',  # 数据库用户密码
        'NAME': 'blog'  # 数据库名
    }
}

运行该Django项目
Django框架|个人博客网站小项目
Django中操作Mysql数据库需要驱动程序MySQLdb,而目前项目虚拟环境中没有驱动程序MySQLdb

MySQLdb只适用于Python2.x的版本,Python3.x的版本中使用PyMySQL代替MySQLdb,故应该安装PyMySQL扩展包

安装PyMySQL驱动程序

提供三种安装方式,确保在该虚拟环境下安装

  1. 直接在Settings里点击“+”,搜索pymysql
  2. 在pycharm终端输入命令:pip install PyMySQL
  3. 通过Windows终端,进入项目下
    Django框架|个人博客网站小项目

在工程同名子目录下的__init__.py文件中,添加如下代码:

import pymysql
pymysql.install_as_MySQLdb()

配置完成后,运行程序,测试结果

Django框架|个人博客网站小项目
复制网址,在浏览器打开
Django框架|个人博客网站小项目
配置成功!

提交配置修改
Django框架|个人博客网站小项目
Django框架|个人博客网站小项目

(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框架|个人博客网站小项目
Django框架|个人博客网站小项目
安装django-redis扩展包
Django框架|个人博客网站小项目
Django框架|个人博客网站小项目
配置成功!

(3)配置日志

新建logs文件夹
Django框架|个人博客网站小项目

打开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
Django框架|个人博客网站小项目
运行项目,logs文件夹下多出一个blog.log文件,访问网址,然后即可查看blog.log文件的日志

未完待更!!!

上一篇:mysql 8.0 窗口函数:cume_dist,percent_rank介绍


下一篇:HDFS常用文件操作命令汇总