2022-10-23
步骤:
一、创建工程仓库
(1)在“码云”上创建一个仓库,在本地盘符中创建一个文件夹,右击,使用git,将远程仓库的内容克隆到本地仓库中,点击“Git Bash Here”。将刚刚创建的远程仓库克隆,使用的命令是“git clone 刚刚远程仓库的地址(点击(克隆/下载)按钮会出现一个网址)”。之后,系统会弹出弹框,要求输入Gitee中的用户名(头像下面@之后的用户名,不是我们设置的姓名)和密码。
(2)使用pycharm打开刚刚克隆下来的仓库。在忽略文件(gitignore)中,随意找一行,添加上“.idea”,忽略掉该文件。
(3)之后,将修改的内容推送至远程仓库。使用快捷键“Ctrl + K”,选中要推送修改的部分,并填写提交描述,右击“提交并推送”。之后会弹出一个凭证,输入Gitee中的用户名与密码。之后推送完后。查看是否推送成功:在本地:点击pycharm下面“git”按钮,可以查看。在Gitee中,刷新页面就可。
二、创建美多商城工程
(1)创建一个虚拟环境,安装Django框架
创建虚拟环境
mkvirtualenv -p python3 meiduo_mall
安装Django框架
pip install django
(2)设置子应用
django-admin startproject meiduo_mall
--------------------------------
2022-10-24
使用pycharm打开文件所在的位置,,首先在pycharm中的终端中运行该Django项目,查看是否OK(python manage.py runserver)
为了直接在“manage.py”文件中直接使用运行按钮直接执行,需要点击工具栏中的“manage”,修改配置,将第二空中的参数设置为“runserver 8000”,之后在“manage.py”中进行执行运行。
之后将项目提交至远程仓库。
-------------------------
三、配置开发环境
(1)在“meiduo_mall”中右击添加一个软件包,命名为“settings”,在后面弹出的询问框,问是否推送至远程仓库中,点击“是”。
(2)设置配置文件,在“settings”中,创建一个“.py”文件,命名为“dev.py”,将“setting.py”中的文件复制到“dev.py”文件中,并且将“setting.py”文件删除。
(3)在“manage.py”文件中,“
os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"meiduo_mall.settings\")
”行中改为
os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"meiduo_mall.settings.dev\")
,之后在进行运行。
(4)新建“生产环境的配置环境”,在“settings”中创建一个“.py”文件,命名为“prod.py”。在“wsgi.py”文件中修改生产环境的配置文件。为
os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"meiduo_mall.settings.prod\")
-------------------
四、配置jinja2模板引擎
(1)在“dev.py”文件中,找到“TEMPLATES”,将其中对应的代码改为
\'BACKEND\': \'django.template.backends.jinja2.Jinja2\',
(2)配置模板文件的加载路径
\'DIRS\': [os.path.join(BASE_DIR,\'templates\')],
(3)在“meiduo_mall”文件夹下面创建一个“python package”文件,命名为“utils”。在该文件夹下创建一个“.py”文件,命名为“jinja2_env”。“jinja2_env.py”文件中的代码:
from jinja2 import Environment from django.contrib.staticfiles.storage import staticfiles_storage from django.urls import reverse def jinja2_environment(**options): \"\"\"jinja2环境\"\"\" # 创建环境对象 env = Environment(**options) # 自定义语法:static(\'静态文件相对路径\'){{url(\'路由的命名空间\')}} env.globals.update({ \'static\':\'staticfiles_storage.url\', # 获取静态文件的前缀 \'url\':reverse, #反向解析 }) # 返回环境对象 return env
(4)在“settings”中的“dev.py”中的“TEMPLATES”中补充Jinja2模板引擎环境,如下:
TEMPLATES = [ { \'BACKEND\': \'django.template.backends.jinja2.Jinja2\', #配置Jinja2模板引擎 \'DIRS\': [os.path.join(BASE_DIR,\'templates\')], # 配置模板文件的加载路径 \'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\', ], # 补充Jinja2模板引擎环境 \'environment\':\'meiduo_mall.utils.jinja2_env.jinja2_environment\', }, }, ]
五、配置mysql数据库
(1)打开虚拟机中的ubantu,打开终端,依次输入下面的命令
mysql -uroot -p show databases; create database meiduo charset=utf8; show databases; # 为数据库创建一个用户 create user \'用户名\'@\'%\' identified by \'密码\'; grand all on meiduo.* to \'用户名\'@\'%\'; # 刷新权限 flush privileges;
(2)在“settings”中的“dev.py”中的“DATABASES”添加信息:
1 DATABASES = { 2 \'default\': { 3 \'ENGINE\': \'django.db.backends.mysql\', # 数据库引擎 4 \'HOST\': \'xxx.xxx.xxx.xxx\', # 数据库主机 5 \'PORT\': 3306, # 数据库端口 6 \'USER\': xxx, # 数据库用户名 7 \'PASSWORD\':\'xxx\', # 数据库用户密码 8 \'NAME\': \'meiduo\', # 数据库名字 9 } 10 }
说明:在第4行中写出“数据库主机”的ip地址,将设置的用户名和密码填写到对用的位置上。
(3)安装pymysql
使用的命令“pip install PyMySQL”;之后需要在\"meiduo_mall\"文件夹中的“init.py”中填入下面的代码,因为刚刚将“数据库的引擎的后缀”修改为“mysql”。
from pymysql import install_as_MySQLdb install_as_MySQLdb()
六、配置redis数据库
(1)安装django-redis扩展包,在pycharm中的终端中使用的命令是:
pip install django-redis
(2)配置redis数据库,查看的中文配置文档如下:
https://django-redis-chs.readthedocs.io/zh_CN/latest/
(3)在“settings”中的“dev.py”中仍找一行添加Redis信息:
CACHES = { \"default\": { \"BACKEND\": \"django_redis.cache.RedisCache\", \"LOCATION\": \"redis://127.0.0.1:6379/1\", \"OPTIONS\": { \"CLIENT_CLASS\": \"django_redis.client.DefaultClient\", } } }
(4)配置分库
1 # 配置Redis数据库 2 CACHES = { 3 \"default\": { # 默认 4 \"BACKEND\": \"django_redis.cache.RedisCache\", 5 \"LOCATION\": \"redis://xxx.xxx.xxx.xxx:6379/0\", 6 \"OPTIONS\": { 7 \"CLIENT_CLASS\": \"django_redis.client.DefaultClient\", 8 } 9 }, 10 \"session\": { # session 11 \"BACKEND\": \"django_redis.cache.RedisCache\", 12 \"LOCATION\": \"redis://xxx.xxx.xxx.xxx:6379/1\", 13 \"OPTIONS\": { 14 \"CLIENT_CLASS\": \"django_redis.client.DefaultClient\", 15 } 16 }, 17 } 18 SESSION_ENGINE = \"django.contrib.sessions.backends.cache\" 19 SESSION_CACHE_ALIAS = \"session\"
说明:在第5行和第12行代码中,“xxx.xxx.xxx.xxx”:表示的是在“DATABASES”中配置的数据库主机的ip地址。
七、配置日志信息
(1)在“settings”中的“dev.py”中任意找一行,添加如下代码:
# 配置工程日志 LOGGING = { \'version\': 1, \'disable_exisiting_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\' }, }, \'filter\':{ # 对日志进行过滤 \'require_debug_true\':{ # django在debug模式下才输出日志 \'()\':\'django.utils.log.RequireDebugTrue\', }, }, \'handlers\':{ # 日志处理方法 \'console\':{ # 向终端中输入日志 \'level\':\'INFO\', \'filter\':[\'require_debug_true\'], \'class\':\'logging.StreamHandler\', \'formatter\':\'simple\' }, \'file\':{ # 向文件中输出日志 \'level\':\'INFO\', \'class\':\'logging.handlers.RotatingFileHander\', \'filename\':os.path.join(os.path.dirname(BASE_DIR),\'logs/meiduo.log\'), # 日志文件的位置 \'maxBytes\': 300*1024*1024, \'backupCount\':10, \'formatter\':\'verbose\' }, }, \'loggers\':{ # 日志器 \'django\':{ # 定义了一个名为django的日志器 \'handlers\':[\'console\',\'file\'],# 可以同时向终端与文件中输出日志 \'propagate\': True, # 是否进行传递日志信息 \'level\':\'INFO\',# 日志器接收的最低日志级别 }, } }
来源:https://www.cnblogs.com/isDaHua/p/16819473.html
本站部分图文来源于网络,如有侵权请联系删除。