微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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驱动程序

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

  1. 直接在Settings里点击“+”,搜索pyMysqL
  2. 在pycharm终端输入命令:pip install PyMysqL
  3. 通过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文件的日志

未完待更!!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐