当前位置: 首页 > news >正文

关于12380网站建设文件php做网站浏览量

关于12380网站建设文件,php做网站浏览量,校园网网站建设费用,wordpress ajax 提交表单1 虚拟环境搭建 #1 虚拟环境作用多个项目#xff0c;自己有自己的环境#xff0c;装的模块属于自己的# 2 使用pycharm创建-一般放在项目路径下#xff1a;venv文件夹-lib文件夹---》site-package--》虚拟环境装的模块#xff0c;都会放在这里-scripts--》python#xff0…1 虚拟环境搭建 #1 虚拟环境作用多个项目自己有自己的环境装的模块属于自己的# 2 使用pycharm创建-一般放在项目路径下venv文件夹-lib文件夹---》site-package--》虚拟环境装的模块都会放在这里-scripts--》pythonpip命令# 3 本地创建了虚拟环境某个项目使用这个虚拟环境-pycharm---》解释器--》添加本地解释器---》找到python.exe---关联上即可# 4 命令方式创建管理虚拟环境### 步骤 # 一 安装模块pip3 install virtualenv # 装它就可以使用虚拟环境-virtualenv.exe # 用来创建虚拟环境的pip3 install virtualenvwrapper-win # 方便我们使用命令操作虚拟环境-virtualenvwrapper.bat # 更方便的操作虚拟环境win的批处理文件-virtualenvwrapper.sh # mac,linux下# 2 配置环境变量-在d盘跟路径创建一个文件夹D:\Virtualenvs # 以后命令创建的虚拟环境都放在这个文件夹下便于管理-配置环境变量WORKON_HOME: D:\Virtualenvs# 3 关掉cmd窗口重启# 1、创建虚拟环境到配置的WORKON_HOME路径下# 选取默认Python环境创建虚拟环境-- mkvirtualenv 虚拟环境名称# 基于某Python环境创建虚拟环境-- mkvirtualenv -p python2.7 虚拟环境名称-- mkvirtualenv -p python38 虚拟环境名称# 2、查看已有的虚拟环境-- workon# 3、使用某个虚拟环境-- workon 虚拟环境名称# 4、进入|退出 该虚拟环境的Python环境-- python | exit()# 5、为虚拟环境安装模块-- pip或pip3 install 模块名# 6、退出当前虚拟环境-- deactivate# 7、删除虚拟环境(删除当前虚拟环境要先退出)-- rmvirtualenv 虚拟环境名称 或者直接删文件夹是一样的 # 4 pycharm项目中使用虚拟环境# 5 命令行中使用虚拟环境 【2】Pipenv官方工具 Pipenv是Python官方推荐的虚拟环境管理工具它集成了pip、venv和其他功能并提供更便捷的方式来创建和管理虚拟环境。以下是使用Pipenv创建虚拟环境的步骤安装Pipenv您可以使用pip来安装Pipenv命令如下pip install pipenv 创建虚拟环境在项目文件夹中使用下面的命令创建并激活虚拟环境 pipenv shell 安装依赖包在激活的虚拟环境中可以使用Pipenv来安装项目所需的依赖包。例如 pipenv install django3.0 注意 Pipenv会自动将依赖包保存到Pipfile文件中并生成一个对应的Pipfile.lock文件来锁定依赖包的版本。 退出虚拟环境您可以使用以下命令退出虚拟环境 exit 【3】总结 无论是使用Virtualenv还是Pipenv都可以解决多项目不同Python版本和依赖包的隔离问题。 Virtualenv是第三方库使用广泛且成熟稳定 而Pipenv是Python官方推荐的工具提供更便捷的方式来管理虚拟环境和依赖包2 luffy后台项目创建目录调整 2.1 项目创建 # 1 使用命令创建luffy项目 # 2 创建虚拟环境mkvirtualenv -p python38 luffy # 3 安装djangopip install django3.1.12 # 3 命令创建项目django-admin startproject luffy_api # 4 pycharm创建 2.2 目录调整 ├── luffy_api├── logs/ # 项目运行时/开发时日志目录 - 包├── manage.py # 脚本文件├── luffy_api/ # 项目主应用开发时的代码保存 - 包├── apps/ # 开发者的代码保存目录以模块[子应用]为目录保存 - 包├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包├── settings/ # 配置目录 - 包├── dev.py # 项目开发时的本地配置└── prod.py # 项目上线时的运行配置├── urls.py # 总路由└── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件]└── scripts/ # 保存项目运营时的脚本文件 - 文件夹 # 1 运行报错-django项目运行要先加载settings.pydev.py-运行时执行的是 python manage.py runserver # 2 解决运行报错- 修改manage.py 中 os.environ.setdefault(DJANGO_SETTINGS_MODULE, luffy_api.settings.dev)-命令行中运行肯定不会报错-pycharm运行可能会报错-删除之前的django-server再创建一个它会自动关联撒花姑娘-配置文件中找到django指定配置文件入下图# 3 创建app python manage.py startapp home # 在哪执行app就创建在哪里切到apps目录下创建app即可python ../../manage.py startapp home# 4 注册app-在INSTALLED_APPS 直接写app的名字会报错报模块找不到的错误---》# No module named home# 1 模块就是没有# 2 不在环境变量中# 3 自己写了一个跟它同名-只需要把apps路径加入到环境变量即可sys.path.insert(0,str(BASE_DIR))# 把apps文件夹加入环境变量以后注册app直接写名字即可sys.path.insert(0, os.path.join(BASE_DIR, apps))# 5 wsgi.py,asgi.py 配置文件也要改---》后面上线才用到 # 6 验证现在配置文件用的是dev.py # from django.conf import settings # print(settings) # luffy_api.settings.dev3 封装logger # django 默认使用 python原生的日志模块咱们选择它-以后不要再用print输出了都用日志输出-print输出上线也会有输出如果用日志日志有级别上线后把级别调高你开发阶段的输出就不再打印了 # 可以使用第三 logru 公司里可能会用# django中集成日志-1 复制日志配置到dev.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.utils.log.RequireDebugTrue,},},handlers: {console: {# 实际开发建议使用WARNINGlevel: DEBUG, # 控制台只显示DEBUG以上就是Info开始filters: [require_debug_true],class: logging.StreamHandler,formatter: simple},file: {# 实际开发建议使用ERRORlevel: INFO, #文件中只显示INFO以上从WARNINGclass: logging.handlers.RotatingFileHandler,# 日志位置,日志文件名,日志保存目录必须手动创建注这里的文件路径要注意BASE_DIR代表的是小luffyapifilename: os.path.join(os.path.dirname(BASE_DIR), logs, luffy.log),# 日志文件的最大值,这里我们设置300MmaxBytes: 300 * 1024 * 1024,# 日志文件的数量,设置最大日志数量为10backupCount: 10,# 日志格式:详细格式formatter: verbose,# 文件内容编码encoding: utf-8},},# 日志对象loggers: {django: {handlers: [console, file],propagate: True, # 是否让日志信息继续冒泡给其他的日志处理系统},} }-2 在utils下新建 common_logger.py import logginglogger logging.getLogger(django)-3 在想使用日志的位置导入直接使用即可日志有级别控制台和文件中打印的日志级别是不一样的from utils.common_logger import loggerclass LoggerView(APIView):def get(self, request):# 以后不要再用print输出了都用日志输出logger.info(info级别)logger.warn(warn级别)logger.warning(warning级别)logger.error(error级别)logger.critical(critical级别)logger.debug(debug级别)return Response(看到我了)4 封装全局异常 ##### 1 写一个函数只要走到这程序出异常了--》记录日志--》越详细越好 from rest_framework.views import exception_handler from rest_framework.response import Response from utils.common_logger import logger def common_exception_handler(exc, context):res exception_handler(exc, context)if res: # 有值drf的异常处理了格式不是咱们想要的err res.data.get(detail) or res.data or 未知错误请联系系统管理员response Response({code: 888, msg: 请求异常-drf:%s % err})else: # 其他异常没有处理自己处理格式response Response({code: 999, msg: 请求异常-其他:%s % str(exc)})# 记录日志越详细越好, 请求错误请求地址是%s请求方式是%s请求用户ip地址是%s错误是%s执行的视图函数是%srequest context.get(request)path request.get_full_path()method request.methodip request.META.get(REMOTE_ADDR)user_id request.user.pk or 未登录用户err str(exc)view str(context.get(view))logger.error(请求错误请求地址是%s请求方式是%s请求用户ip地址是%s用户id是%s错误是%s执行的视图函数是%s % (path, method, ip, user_id, err, view))return response##### 2 在配置文件中配置一下 REST_FRAMEWORK {EXCEPTION_HANDLER: utils.common_excepitons.common_exception_handler, } 5 封装Response # 之前使用drf的Response我们需要自己构造返回字典return Response(data{code:100,msg:成功,result:[{},{}]})return Response(data{code:100,msg:成功,token:asdasd,username:lqz}) # 我们封装 APIResponse以后使用效果如下return APIResponse()---》{code:100,msg:成功}return APIResponse(result[{},{}])return APIResponse(tokenafasfd,usernamelqz)### 代码 from rest_framework.response import Response# APIResponse() # APIResponse(result[{},{}]) # APIResponse(tokenafasfd,usernamelqz) # APIResponse(tokenafasfd,usernamelqz,status201,headers{xx:xx}) class APIResponse(Response):def __init__(self, code100, msg成功, statusNone,template_nameNone, headersNone,exceptionFalse, content_typeNone, **kwargs):data {code: code, msg: msg}if kwargs:data.update(kwargs)super().__init__(datadata, statusstatus, headersheaders, template_nametemplate_name, exceptionexception,content_typecontent_type)# Response(datadata, statusstatus, headersheaders) 6 后台数据库创建 # 使用mysql作为数据库-mysql在win上安装步骤https://zhuanlan.zhihu.com/p/571585588# 1 创建数据库--root用户创建---》后续使用代码操作数据库不使用root用户新建一个用户 luffy-如果使用root用户一旦密码泄露所有库都不安全了-如果新建一个luffy用户只授予luffy库的权限即便泄露了密码只是这个库不安全了# 2 创建路飞用户授予了luffy库所有表的所有权限-查看用户select user,host,authentication_string from mysql.user;-创建用户grant all privileges on luffy.* to luffy% identified by Luffy123?;grant all privileges on luffy.* to luffylocalhost identified by Luffy123?;flush privileges;# 3 以后操作luffy库都用luffy用户登录就不用root用户了# 4 项目中配置使用mysql数据库使用luffy用户DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: luffy,HOST: 127.0.0.1,PORT: 3306,USER: luffy,PASSWORD: Luffy123?}}# 5 运行会报错因为没有装myslqclient-解决方式一直接安装myslqclient ---》win平台看人品mac基本装不上linux需要单独处理-解决方式二使用pymysql-安装在配置文件中加入import pymysqlpymysql.install_as_MySQLdb()# 6 数据库的用户名密码都是直接写死在代码中的如果咱们代码被泄露了数据库也就被人看到了 useros.environ.get(LUFFY_USER,luffy) passwordos.environ.get(LUFFY_PWD,Luffy123?) print(user) DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: luffy,HOST: 127.0.0.1,PORT: 3306,USER: user,PASSWORD: password} }
http://www.zqtcl.cn/news/930657/

相关文章:

  • 做网站找网站设计公司 长沙
  • 网站维护内容网站代码下载
  • 西安建设主管部门官方网站wordpress返回件
  • 建立免费空间网站南宁seo推广外包
  • 网站初期如何推广用秀米制作h5详细步骤
  • 做网站需要执照嘛开发 网站 团队
  • 怎么提交网站关键词包头人脸检测系统
  • 哪个网站开发是按月付费的婚纱摄影建设网站的目的
  • 站长之家app简单网站制作步骤
  • 网站开发与桌面应用开发wordpress if include
  • 网站怎么做预约小程序江苏省工程建设招标网站
  • python做网站有什么弊端专业做网带
  • 浙江建设工程考试网站wordpress等模版比较
  • seo网站论文高端疫苗
  • 山东省城乡住房和建设厅网站首页贵阳网站建设技术托管
  • 免费的网站申请做电影网站被告版权
  • 网站后台显示不全百姓网招聘信息最新招聘
  • 前端手机网站同企网站建设做网站
  • 重庆专业网站公司查看网站是否收录
  • 网站怎么做网上报名学多久可以做网站 知乎
  • 网站建设项目总结报告织梦模板建站
  • 关于网站建设的基础知识中石化十建公司官网
  • 江苏做网站怎么收费wordpress的wap插件
  • 企业营销网站建设公司哪家好网站建设团队名称
  • 法制网站建设问卷调查手机网站打开自动wap
  • 建设网站 如何给文件命名佛山网站推广市场
  • 网站客户问题解答网站建设网站规划书
  • 罗湖网站公司网络营销的种类有哪些
  • 怎么做微网站推广做一个自己的网站需要什么
  • 一个静态网站开发考虑什么最近一周新闻热点回顾