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

口碑最好的旅游网站苏州公司网站建设报价

口碑最好的旅游网站,苏州公司网站建设报价,网站文章删除了怎么做404,wdcp 修改默认网站代码与环境配置解耦 git分支的代码应做到“环境无关”:代码本身不硬编码任何环境特定的配置(如数据库连接、密钥、API地址),而是通过外部机制动态注入。 配置与代码分离:将配置信息存储在代码库之外(如环…

代码与环境配置解耦

git分支的代码应做到“环境无关”:代码本身不硬编码任何环境特定的配置(如数据库连接、密钥、API地址),而是通过外部机制动态注入。

配置与代码分离:将配置信息存储在代码库之外(如环境变量、独立配置文件、密钥管理服务),避免提交到 Git 仓库。

环境变量/配置文件 随便用,对内存的影响完全可以忽略不记
案例:典型 Web 应用的配置
  • 环境变量:约 10 个变量(如数据库 URL、API 密钥、调试模式),总大小约 1KB
  • 配置文件:一个 500 行的 JSON 文件(约 5KB),解析后内存占用约 10-20KB
  • 总内存影响:不到 50KB,远低于一个简单 Python 对象(如空列表占用 40KB)。

对于YAML和TOML的选择来说,我更倾向于TOML,主要是TOML对缩进及空格数量不敏感,YAML的缩进和横杠-真烦啊!

各种配置文件的优缺点对比

配置格式语法复杂度结构化数据支持注释支持数据类型支持适用场景解析库
.ini差(仅支持键值对)否(所有值为字符串)小型应用configparser
settings.py强(Python 代码)Django/Python 项目Python 直接解析
.env差(仅键值对)否(所有值为字符串)12 Factor Apppython-dotenv
json强(嵌套支持)Web 开发、APIjson
yaml强(嵌套支持)DevOps、KubernetesPyYAML
toml强(嵌套支持)Python/Rust 配置toml

选择合适的配置文件

  • Web 开发/Djangosettings.py
  • 存储环境变量/API 密钥.env
  • 前后端通用配置、API 交互json
  • DevOps/Kubernetesyaml
  • Python、Rust 工程配置toml
  • 小型桌面应用、简单配置.ini

在 Web 应用中,使用数据库存储用户配置(如用户偏好、通知设置、API 密钥等)是一种常见的方法。与 .env、配置文件或环境变量相比,数据库存储具有更强的可管理性,但也存在一定的性能和安全性问题。下面是数据库存储用户配置的优缺点分析实现方式

Python 代码(Django ORM)

from django.db import modelsclass UserSettings(models.Model):user = models.OneToOneField("auth.User", on_delete=models.CASCADE)theme = models.CharField(max_length=50, default="light")notifications = models.BooleanField(default=True)language = models.CharField(max_length=10, default="en")updated_at = models.DateTimeField(auto_now=True)

查询用户配置

settings = UserSettings.objects.get(user=request.user)
print(settings.theme)  # "light"

应用程序修改自身配置并保留注释

通常情况下,配置文件(如 .ini, .env, .yaml, .toml, .json)主要用于存储应用的静态配置,而应用程序一般只读取配置。但在某些特定场景下,应用程序允许修改自身的配置文件。

配置格式只读解析库解决方案(修改保存)
.iniconfigparser使用 ConfigObj
.envdotenv_values手动读取/合并
.yamlPyYAML使用 ruamel.yaml
.tomltoml使用 tomlkit
.jsonjson使用 commentjson
from configobj import ConfigObjconfig = ConfigObj("config.ini", encoding="utf-8")# 修改配置
config["settings"]["theme"] = "dark"# 保存时会保留注释
config.write()

from tomlkit import parsewith open("config.toml", "r") as f:toml_data = parse(f.read())# 修改配置
toml_data["app"]["debug"] = False# 保存 (保留注释)
with open("config.toml", "w") as f:f.write(toml_data.as_string())

http://www.yayakq.cn/news/275978/

相关文章:

  • 网站维护的意义宁波妇科专家排名
  • 陕西有色建设有限公司网站wordpress Suffusion
  • 手机端网站重构卓航网站开发
  • 做网站哪个软件好用长春网站关键词排名
  • 网站的ftp管理权限是什么意思阿里云云虚拟主机wordpress
  • html5做手机网站建设图片瀑布流代码wordpress
  • 建筑建材网站设计费用网站开发后端最新技术
  • 制作视频网站建设佛山营销型网站定制
  • 鲜花网站开发毕业设计网上注册公司流程工商
  • 用asp做网站需要什么软件好看的网站页面设计
  • 网站备案实名认证泡泡手机网
  • 乐清柳市广电网站无锡网站推广经理
  • 河北大城县网站建设公司页面设计要以什么为导向
  • 阳光梦网站建设快速优化关键词排名
  • 信誉好的集团网站建设可以免费做网站
  • 自建网站如何盈利谷歌云 装wordpress
  • 郑州整站关键词搜索排名技术厦门seo俱乐部
  • 怎么做企业网站原型网站备案连接
  • 农产品网站建设及优化项目东莞品牌型网站建设价格
  • 背景 网站建设新注册建筑公司名称大全
  • 招远网站建设哪家好让你做一个旅游网站你会怎么做
  • 机械加工网站推广有效果吗做网站可以找设计公司吗
  • 网站如何做社群网站建设经验交流发言
  • 苏州市规划建设局网站微网站怎么开通
  • 主要给人家做网站的公司wordpress最大负载
  • 建设工程获奖查询网站2015做那些网站能致富
  • 腾讯云服务器可以做网站成都网站定制开发
  • 免费刷推广链接的网站wordpress 侧分类
  • 档案馆网站建设现状陕西网站制作公司哪家好
  • 电子商务网站的建设方法做网站中心