1.常用依赖安装mysql和redis并启动服务。安装方法参见《MySQL和Redis安装》一文安装python开发包:执行pip3installpython-devel如果报找不到python-devel,则安装python-dev,其中包括python安装的头文件等信息用C/Java/C#编写的扩展取决于编译时。安装mysql-devel和mysql-libs:yuminstallmysql-develmysql-libs,注意:在centos中,系统包管理器yum用于安装bzip2-devel:yuminstallbzip2-develinstallgit:yuminstallgit二、mysql数据库和权限创建项目数据库:createdatabasenamecharsetutf8;创建测试用例数据库:createdatabasetest_namecharsetutf8;,测试用例数据库以test开头创建超级用户:创建由“密码”标识的用户“name”@“%”;授权:超级用户拥有所有全新的项目数据库和测试用例数据库grantallondatabase_name.*to"username"@"%";grantallontest_databasename.*to"username"@"%";刷新权限:flushprivileges;3、远程连接pycharm项目在linux环境下部署启动。在平时的开发中,很多人使用的是mac或者windows系统。为了能够将本地的开发代码及时上传到远程服务器中,提高开发效率,需要在pycharm中建立远程连接。在pycharm中设置远程服务器并连接。在Tools中找到Development,点击Configration进入配置页面,进入配置页面,点击+,选择SFTP,设置服务器名称,点击SSHconfigration配置连接,点击+添加配置页面,测试是否连接配置成功后。host为远程服务器ip,端口为22,认证类型不用改。配置生效后,返回STFP配置页面,设置Root路径。这里是项目的上层目录。例如:项目名称为backstage,上级目录为testProject,则此处写/testProject,末尾没有斜杠。在Advanced中设置Sendkeepalivemessageseach,这里设置为10s,Mappings页面Developmentpath设置为项目名,以斜线开头,不以斜线结尾应用后,setPythonInterpreter新建SSHInterpreter,选择ThecreatedremoteconnectionInterpreterisintheremoteserver,notthelocalmachine.远程服务器使用pipenv--py获取PythonInterpreter;Sync文件夹左侧为本地项目目录,右侧为远程服务器中的项目目录。它们之间映射。创建完成后,选择并应用右键点击项目,选择SyncwithDeployedto....,然后选择对应的远程服务器进入新页面,对比本地目录和远程目录文件,拉取remote文件到本地或者按照它新建本地修改文件到远程服务器设置项目的运行/调试Python解释器的配置:选择设置中的InterpreterWorking目录远程连接:本地项目路径检查日志中的最后两项,在项目开发过程中可以看到日志的详细信息,在Preferences中找到Django,在Languages&Frameworks中进行设置。勾选EnableDjangoSupportDjangoprojectroot:选择本地项目的目录路径。Settings选择项目config/settings/local.py应用并启动本地服务。启动后可能出现的问题找不到celery和environ,直接用pipenv导入即可。源码中存在raiseKeyError,name等语法问题,直接修改为raiseKeyError(name)即可。4.删除修改部分文件,完成初始模板。在服务器端使用pipenvinstall-rrequirements/local.txt导入所有依赖(一)、settings/base.py设置是否读取.env文件:修改settings/base.py中的default=True,读取文件,并在项目根目录下新建.env文件READ_DOT_ENV_FILE=env.bool("DJANGO_READ_DOT_ENV_FILE",default=True)~~~~修改时区和语言DATABASES"default"=True表示封装数据库操作在HTTP请求进入事务安全设置:CSRF_COOKIE_HTTPONLY=False,如果设置为True,则只能让http获取csrftoken,如果设置为False,还有其他方式,例如:js设置Celery:CELERY_RESULT_BACKEND=env('CELERY_RESULT_BACKEND'),CELERY_RESULT_BACKEND在.env文件集CELE中RY_ACCEPT_CONTENT=["json",'msgpack']序列化和反序列化数据格式:CELERY_TASK_SERIALIZER="json"设置为"msgpack",因为msgpck格式数据比json格式数据更小更快(二),settings/local.py(本地开发环境配置文件)hostsettings:ALLOWED_HOSTS=["*"]删除文件中mail的配置,因为这些配置已经定义在base.py文件中查看debug配置(3),settings/production.py(生产环境配置文件)删除STORAGES配置,这是Amazon的缓存配置,不需要#STORAGES#---------------------------------------------------------------------------#https://django-storages.readthedocs.io/en/latest/#installationINSTALLED_APPS+=["storages"]#noqaF405#https://django-storages.readthedocs.io/en/latest/backends/亚马逊-S3.html#settingsAWS_ACCESS_KEY_ID=env("DJANGO_AWS_ACCESS_KEY_ID")#https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settingsAWS_SECRET_ACCESS_KEY=env("DJANGO_AWS_SECRET_ACCESS_KE")#https:Y//django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settingsAWS_STORAGE_BUCKET_NAME=env("DJANGO_AWS_STORAGE_BUCKET_NAME")#https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settingsAWS_QUERYSTRING_AUTH=False#除非您知道自己在做什么,否则不要更改这些。_AWS_EXPIRY=60*60*24*7#https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settingsAWS_S3_OBJECT_PARAMETERS={"CacheControl":f"max-age={_AWS_EXPIRY},s-maxage={_AWS_EXPIRY},must-revalidate"}#https://django-storages.readthedocs。io/en/latest/backends/amazon-S3.html#settingsAWS_S3_REGION_NAME=env("DJANGO_AWS_S3_REGION_NAME",default=None)#https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#cloudfrontAWS_S3_CUSTOM_DOMAIN=env("DJANGO_AWS_S3_CUSTOM_DOMAIN",default=None)aws_s3_domain=AWS_S3_CUSTOM_DOMAINorf"{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com"删除邮箱配置#EMAIL#--------------------------------------------------------------------------#https://docs.djangoproject.com/en/dev/ref/settings/#default-from-emailDEFAULT_FROM_EMAIL=env("DJANGO_DEFAULT_FROM_EMAIL",default="后台
