从零开始:Django项目的创建与配置指南


title: 从零开始:Django项目的创建与配置指南
date: 2024/5/2 18:29:33
updated: 2024/5/2 18:29:33
categories:

  • 后端开发

tags:

  • Django
  • WebDev
  • Python
  • ORM
  • Security
  • Deployment
  • Optimization

在这里插入图片描述

Django简介:

Django是一个开源的高级Python Web框架,由法国人Guido Zempe于2003年创建。它以“快速开发、可维护的网站”为目标,提供了许多内置的功能,如ORM(对象关系映射)、URL路由、模板系统、管理后台等,让开发者能够专注于业务逻辑,而无需从头开始构建网站的底层结构。

Django的特点包括:

  1. 面向开发者的易用性:提供了强大的模板系统和管理后台。
  2. 高效的开发:内置ORM和模型管理系统简化数据库操作。
  3. 安全性:内置安全特性,如CSRF保护和XSS过滤。
  4. 可扩展性:模块化设计,方便添加新功能。

环境准备与安装:

  1. Python安装: 首先确保你的计算机上安装了Python。你可以访问Python官网(https://www.python.org/downloads/)下载并安装最新版本。推荐使用Python 3.x。

  2. 虚拟环境: 为了保持项目环境的独立性,推荐使用虚拟环境(venv或conda)。在命令行中,进入你的项目目录,然后运行以下命令创建虚拟环境:

    python3 -m venv myenv
    

    其中myenv是你的虚拟环境名称。

  3. 激活虚拟环境: 在Windows上,运行myenv\Scripts\activate。 在Unix或Mac上,运行source myenv/bin/activate

  4. 安装Django: 在激活的虚拟环境中,使用pip安装Django:

    pip install Django
    

    安装完成后,确认Django版本:

    django-admin --version
    
  5. 设置项目: 创建一个新的Django项目,使用命令:

    django-admin startproject myproject
    

    这将创建一个名为myproject的文件夹,其中包含Django项目的基本结构。

现在,你已经准备好开始使用Django了。接下来可以深入学习项目的配置和应用的创建。

创建一个Django项目

创建一个Django项目非常简单,只需要几个命令。以下是在命令行中创建Django项目的步骤:

  1. 确保已激活虚拟环境(如果使用了虚拟环境): 确保你已经通过相应命令(如Windows的myenv\Scripts\activate或Unix/Mac的source myenv/bin/activate)激活了虚拟环境。

  2. 打开终端或命令提示符: 在包含项目的文件夹中打开终端或命令提示符。

  3. 创建新项目: 运行以下命令创建一个新的Django项目,假设我们将其命名为myproject

    django-admin startproject myproject
    

    这将创建一个名为myproject的文件夹,其中包含Django项目的基本结构,如myprojectmyproject/settings.pymyproject/urls.pymyproject/wsgi.py等。

  4. 进入项目目录: 项目创建后,使用cd命令进入项目目录:

    cd myproject
    
  5. 启动开发服务器: 使用以下命令启动Django的开发服务器,它将在本地运行:

    python manage.py runserver
    

    现在,你应该能在浏览器中访问http://127.0.0.1:8000/,看到Django的默认欢迎页面。

至此,你已经成功创建了一个基本的Django项目。接下来可以开始创建应用(app)并进行进一步的开发了。

Django项目结构解析

在Django中,一个项目(project)是由一个或多个应用(app)组成的。一个项目包含了整个网站的配置、URL路由、设置以及其他全局功能,而应用则是网站的特定功能模块。让我们来解析一下Django项目的基本结构:

  1. 项目文件夹: 项目文件夹是通过django-admin startproject projectname命令创建的,其中projectname是项目的名称。在项目文件夹中,你会发现以下文件和文件夹:

    • manage.py:这是一个命令行工具,可以帮助你与Django项目进行交互,比如运行开发服务器、创建数据库迁移等。
    • projectname/:这是项目的包含目录,其中包含了项目的设置和配置文件。
    • projectname/__init__.py:一个空文件,用于标识projectname目录为Python包。
    • projectname/settings.py:包含了Django项目的设置,比如数据库配置、静态文件路径、模板路径等。
    • projectname/urls.py:定义了项目的顶级URL路由。
    • projectname/wsgi.py:用于将Django项目部署到WSGI兼容的Web服务器上的入口文件。
  2. 应用文件夹: 在Django项目中,应用是可重用的Web应用程序,可以包含特定功能的模型、视图、模板等。每个应用都有自己的文件夹,通常包含以下文件和文件夹:

    • appname/:应用的包含目录,其中包含了应用的代码和资源文件。
    • appname/__init__.py:标识appname目录为Python包。
    • appname/admin.py:用于注册模型到Django的后台管理界面。
    • appname/apps.py:包含应用的配置信息。
    • appname/models.py:定义应用的数据模型。
    • appname/views.py:包含应用的视图函数或类。
    • appname/templates/:存放应用的HTML模板文件。
    • appname/static/:存放应用的静态文件,如CSS、JavaScript和图像文件。
  3. 数据库迁移文件夹: Django使用迁移(migration)来管理数据库模式的变更,迁移文件夹通常位于应用的目录下,包含了数据库模式变更的Python脚本文件。

  4. 虚拟环境和依赖文件: 在实际开发中,通常会使用虚拟环境来隔离项目的依赖。虚拟环境通常位于项目文件夹外部,而依赖文件(如requirements.txt)则包含了项目所需的Python包列表。

这就是一个典型的Django项目的基本结构。通过合理的组织和管理,可以使项目更易于维护和扩展。

配置Django项目

配置Django项目涉及以下几个关键步骤:

  1. 设置项目: 打开project_name/settings.py文件,配置项目的基本信息,如数据库设置、静态文件路径、中间件、URL模式等。例如,设置数据库:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',  # 更改为你的数据库类型
            'NAME': 'your_database_name',  # 数据库名称
            'USER': 'your_database_user',  # 数据库用户名
            'PASSWORD': 'your_database_password',  # 数据库密码
            'HOST': 'localhost',  # 数据库主机,如果在其他服务器上,填写服务器地址
            'PORT': '5432',  # 数据库端口
        }
    }
    
  2. 创建应用:project_name目录下,创建新的应用:

    python manage.py startapp app_name
    

    其中app_name是你的应用名称。

  3. 配置应用: 在应用的app_name/settings.py中,添加应用到INSTALLED_APPS列表中。

  4. 配置应用: Django会为你创建一个新的应用目录,里面包含了一些默认的文件。你可以在这个目录下编写视图、模型、模板等文件来实现应用的功能。

  5. 注册应用: 在项目的settings.py文件中,找到INSTALLED_APPS设置,将你新创建的应用添加到这个列表中:

    INSTALLED_APPS = [
        ...
        'your_app_name',
    ]
    
  6. 编写视图: 在你的应用目录下的views.py文件中编写视图函数,处理用户请求并返回相应的响应。

  7. 配置URL路由: 在你的应用目录下创建一个urls.py文件,用于配置应用的URL路由。然后在项目的主urls.py文件中,包含你的应用URL配置:

    # 应用的urls.py
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('your_url_path/', views.your_view_function, name='your_url_name'),
    ]
    
    # 项目的urls.py
    from django.urls import path, include
    
    urlpatterns = [
        ...
        path('your_app/', include('your_app_name.urls')),
    ]
    
  8. 创建模型(可选): 如果你的应用需要与数据库交互,可以在应用目录下的models.py文件中定义模型类,代表数据库中的表结构。

  9. 运行开发服务器: 使用python manage.py runserver启动开发服务器,然后在浏览器中访问http://localhost:8000(默认端口)查看项目是否启动。

  10. 管理后台: 访问http://localhost:8000/admin/,使用默认的管理员账户登录(用户名:admin,密码:password),可以创建和管理模型。

  11. 配置其他选项(如静态文件、邮件设置等): 根据项目需求,在settings.py中添加其他配置,如静态文件的托管、邮件服务器设置等。

以上就是配置Django项目的基本步骤,根据你的实际需求,可能还需要进行更多的定制。

数据库配置与迁移

在Django中,配置数据库并进行迁移的步骤如下:

  1. 选择数据库引擎: Django支持多种数据库引擎,例如SQLite、MySQL、PostgreSQL等。在settings.py文件中的DATABASES设置中选择适合你的数据库引擎,并填写相应的连接信息。

  2. 创建数据库: 根据你选择的数据库引擎,在数据库服务器上创建一个空数据库。如果使用SQLite,可以跳过此步骤,因为SQLite数据库是以文件形式存储的。

  3. 配置数据库连接信息:settings.py文件中的DATABASES设置中,根据你的数据库引擎填写连接信息。例如,对于MySQL数据库:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'your_database_name',
            'USER': 'your_database_user',
            'PASSWORD': 'your_database_password',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }
    
  4. 进行数据库迁移: 在项目根目录下,运行以下命令来创建数据库表和结构:

    python manage.py migrate
    
  5. 创建应用的数据库迁移文件(可选): 如果你在应用中创建了新的模型或对现有模型进行了更改,需要为这些更改创建数据库迁移文件。在应用目录下运行以下命令:

    python manage.py makemigrations app_name
    

    其中app_name是你的应用名称。

  6. 应用数据库迁移: 运行以下命令来应用数据库迁移:

    python manage.py migrate
    
  7. 查看数据库迁移状态(可选): 运行以下命令可以查看数据库迁移的状态:

    python manage.py showmigrations
    

通过以上步骤,你就可以配置数据库并进行迁移了。请确保数据库连接信息正确,并且在进行迁移之前备份数据库以防止数据丢失。

模板与静态文件:

模板(Templates):

  1. 模板是Django中用于生成HTML内容的文件,通常存放在应用的templates目录下。
  2. Django使用模板语言(Template Language)来动态生成内容,包括变量、标签和过滤器。
  3. 在视图函数中使用render()函数加载模板并传递数据进行渲染,最终返回给用户的是渲染后的HTML页面。
  4. 模板语言中的变量使用{{ variable_name }},标签使用{% tag_name %},过滤器使用{{ value|filter_name }}的方式进行操作。
  5. 继承是模板中常用的技术,通过{% extends 'base.html' %}{% block content %}来实现模板的继承和覆盖。

静态文件(Static Files):

  1. 静态文件包括CSS、JavaScript、图片等不需要经过处理的文件,通常存放在应用的static目录下。
  2. 在模板中使用{% load static %}加载静态文件,然后通过{% static 'path/to/file' %}来引用静态文件。
  3. settings.py中配置STATIC_URL用于指定静态文件的URL前缀,STATICFILES_DIRS用于指定静态文件的存放路径。
  4. 在开发环境中,可以使用django.contrib.staticfiles应用来自动收集静态文件,而在生产环境中,可以使用Web服务器(如Nginx)来提供静态文件服务。
  5. 为了提高性能,可以使用CDN(内容分发网络)来加速静态文件的访问。

用户认证与权限控制:

用户认证(User Authentication):

  1. Django提供了内置的用户认证系统,包括用户注册、登录、注销、密码重置等功能。
  2. 可以通过django.contrib.auth应用来实现用户认证,其中包括User模型和authenticate()login()logout()等方法。
  3. 用户可以通过表单输入用户名和密码进行登录,系统会验证用户身份并创建相应的会话。
  4. 可以使用装饰器@login_required来限制某些视图只能被登录用户访问,未登录用户将被重定向到登录页面。

权限控制(Permission Control):

  1. Django提供了基于角色的权限控制系统,可以对用户进行授权以限制其访问权限。
  2. 可以通过django.contrib.auth.models.Permissiondjango.contrib.auth.models.Group来管理权限和用户组。
  3. 可以在视图函数中使用@permission_required装饰器来限制只有具有特定权限的用户才能访问该视图。
  4. 可以在模板中使用{% if user.has_perm %}来根据用户是否具有某项权限来展示不同的内容。
  5. 可以通过自定义权限来扩展系统的权限控制,例如定义特定操作的权限,并将其分配给用户或用户组。

Django管理后台(Django Admin):

Django管理后台是一个内置的功能,用于管理数据库模型(models)和应用程序的数据。它提供了一个用户友好的界面,管理员可以执行以下操作:

  1. 模型管理:在后台,可以查看、添加、编辑和删除模型(如User、Post等)的实例。每个模型都有自己的表单,可以直观地管理数据。
  2. 数据查看:可以查看模型数据的列表,支持排序、过滤和搜索功能。
  3. 数据编辑:点击模型实例可以进入详细编辑页面,可以修改字段值并保存更改。
  4. 模型创建:可以创建新的模型实例,并设置初始属性。
  5. 模型字段管理:可以管理模型的字段,如字段类型、默认值、验证规则等。
  6. 模型关系管理:对于模型之间的关系,如一对一、一对多和多对多关系,后台提供了可视化工具来管理关联实例。
  7. 模型表单定制:可以自定义模型的表单,包括添加或移除字段、改变字段顺序等。
  8. 权限管理:Django管理后台的访问权限可以通过django.contrib.auth模块进行控制,可以设置不同用户或用户组对不同模型的访问权限。
  9. 数据导出/导入:支持CSV格式的数据导出和导入,方便数据备份或迁移。
  10. 后台日志:记录后台操作日志,便于审计和问题排查。

Django管理后台是一个非常实用的功能,使得开发人员和管理员可以轻松管理数据,而无需编写大量的数据库操作代码。通过它,可以快速地对应用中的数据进行操作,提高开发和维护效率。

AD: 专业的搜索引擎

项目优化

  1. 性能优化

    • 代码优化:减少不必要的数据库查询,使用缓存,优化数据库索引。
    • 静态文件合并和压缩:合并CSS和JavaScript文件,压缩它们以减少HTTP请求和传输大小。
    • CDN(内容分发网络) :对于静态资源,使用CDN可以提高访问速度。
    • 代码库优化:使用性能分析工具(如cProfile、Python的timeit)找出瓶颈并进行优化。
  2. 代码重构:遵循DRY(Don’t Repeat Yourself)原则,避免冗余代码,提高代码可读性和维护性。

  3. 资源管理:限制不必要的资源消耗,如内存和CPU。

  4. 响应式设计:确保网站在不同设备和屏幕尺寸上都能有良好的用户体验。

安全措施

  1. 身份验证和授权

    • 使用强密码策略,考虑使用多因素认证(MFA)。
    • 对敏感操作进行权限控制,如用户管理、数据修改等。
  2. 数据保护

    • 对敏感数据进行加密,比如密码、信用卡信息等。
    • 使用HTTPS以保护通信内容不被窃听。
  3. 输入验证和过滤

    • 对用户输入进行校验,防止SQL注入、XSS攻击等。
    • 使用安全的库和框架来处理用户输入。
  4. 错误处理和日志

    • 清晰的错误消息不应该包含敏感信息。
    • 记录和监控日志,以便及时发现并处理安全问题。
  5. 框架和库的安全更新

    • 定期检查并更新所有依赖的库和框架,修复已知的安全漏洞。
  6. 防火墙和安全软件

    • 在服务器上安装防火墙,阻止不必要的网络连接。
    • 安装和配置安全软件,如WAF(Web应用防火墙)。
  7. 代码审查和渗透测试

    • 定期进行代码审查,寻找潜在的安全问题。
    • 进行安全渗透测试,模拟黑客攻击,找出并修复漏洞。
  8. 合规性

    • 遵守相关法规,如GDPR(欧洲通用数据保护条例)。

以上措施可以帮助你提升项目的性能和安全性,但请注意,安全是一个持续的过程,需要不断更新和改进。

部署Django项目

部署Django项目通常涉及以下几个步骤,这些步骤可能会根据你的具体需求和环境有所不同:

  1. 设置服务器

    • 选择服务器:你可以选择使用云服务(如AWS、Google Cloud、Heroku等)、虚拟主机(如DigitalOcean、Vultr、Linode等)、或者自己的服务器(如Ubuntu、CentOS等)。
    • 安装操作系统和必要的软件:如Python、Nginx、Gunicorn或uWSGI等Web服务器软件。
  2. 安装Django

    • 在服务器上安装最新版本的Python和Django,使用命令行:
    pip install django
    
  3. 设置项目和应用

    • 创建一个新的Django项目:
    django-admin startproject project_name
    
    • 进入项目目录并创建应用:
    cd project_name
    python manage.py startapp app_name
    
  4. 配置数据库

    • project_name/settings.py文件中,配置数据库连接信息(如PostgreSQL、MySQL、SQLite等)。
  5. 迁移数据库

    python manage.py makemigrations
    python manage.py migrate
    
  6. 创建超级用户

    python manage.py createsuperuser
    
  7. 静态文件和媒体文件管理

    • 配置静态文件和媒体文件的存储路径,通常放在staticmedia目录下。
    • 在生产环境中,可能需要使用如Gunicorn、uWSGI、Nginx等服务器配置反向代理和静态文件处理。
  8. 部署代码

    • 将项目文件(包括manage.py)上传到服务器。
    • 使用版本控制系统(如Git)进行版本控制,确保代码更新的可追溯性。
    • 安装必要的依赖(如数据库驱动、Django应用等)。
  9. 启动服务器

    • 使用Gunicorn、uWSGI或Nginx等工具启动Django应用。具体命令取决于你的配置:
    • Gunicorn: gunicorn project_name.wsgi:application
    • uWSGI: uwsgi --http :8000 --module project_name.wsgi:application
    • Nginx: 配置Nginx虚拟主机,并指向项目的wsgi文件。
  10. 测试应用

    • 通过浏览器访问http://your_server_ip:your_port/,确保应用正常运行。
  11. 安全性和日志

    • 安装SSL证书以启用HTTPS。
    • 配置日志记录,以便监控和调试。

以上是一个基本的部署流程,实际部署可能需要根据你的具体需求进行调整,例如使用负载均衡、容器化(Docker)、环境变量管理等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/589187.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

The Role of Subgroup Separability in Group-Fair Medical Image Classification

文章目录 The Role of Subgroup Separability in Group-Fair Medical Image Classification摘要方法实验结果 The Role of Subgroup Separability in Group-Fair Medical Image Classification 摘要 研究人员调查了深度分类器在性能上的差异。他们发现,分类器将个…

PHP源码_最新在线工具箱网站系统源码

项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…

【网络原理】HTTP 协议的基本格式和 fiddler 抓包工具的用法

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序(万字博文) 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制(CRC算法、MD5算法) 【网络…

下载安装 VisualVM

1、下载安装 VisualVM 第1步:下载地址:https://visualvm.github.io/ 第2步:解压到制定位置 第3步:指定jdk路径 下载完成后,在etc文件夹下找到visualvm.conf文件,设置jdk路径visualvm_jdkhome"D:\ITS…

ICode国际青少年编程竞赛- Python-1级训练场-路线规划

ICode国际青少年编程竞赛- Python-1级训练场-路线规划 1、 Dev.step(3) Dev.turnLeft() Dev.step(4)2、 Dev.step(3) Dev.turnLeft() Dev.step(3) Dev.step(-6)3、 Dev.step(-2) Dev.step(4) Dev.turnLeft() Dev.step(3)4、 Dev.step(2) Spaceship.step(2) Dev.step(3)5、…

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性)

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性) 1. ElasticSearch安装(略)2. ElasticSearch基础功能2.1 索引操作2.1.1 创建索引2.1.2 Head 索引2.1.3 查询索引2.1.3.1 查询单独索引2.1.3.2 查询…

【MATLAB】GUI初步设计

MATLAB界面设计 前言一、基本步骤1.1 创建GUI文件1.2 界面设计 总结 前言 为了完成图像处理的作业,简直就是生活不易啊 找到一个很棒的教学视频 基于MATLAB的GUI界面设计流程讲解 一、基本步骤 1.1 创建GUI文件 由于在写博文之前我已经创建好文件了,…

邊緣智能2024—AI開發者峰會(5月9日)數碼港即將啟幕

隨著 AI (人工智能)技術的飛速發展,我們正迎來邊緣計算智能化與分布式AI深度融合的新時代,共同演繹分布式智能創新應用的壯麗篇章。"邊緣智能2024 - AI開發者峰會"將聚焦於這一前沿領域,探討如何通過邊緣計算…

中国发布首个汽车大模型标准

🦉 AI新闻 🚀 中国发布首个汽车大模型标准 摘要:中国信息通信研究院于4月28日发布了国内首个汽车大模型标准,标志着汽车行业正式迈向“人工智能+”时代。该标准包含三个核心能力域:场景丰富度、能力支持度…

Pytorch学习笔记——环境配置安装

1、下载和配置环境 Anacodna必备(工具包里面都包含的有,集成与运用科学分析的软件,比较方便) 点击这个网页:Download Now | Anacondahttps://www.anaconda.com/download/success 按照教程安装(教程可以自己在网上搜…

XY_RE复现(五)

一&#xff0c;给阿姨倒一杯卡布奇诺 是一道魔改TEA加密 给出了一些初始化&#xff0c;然后输入的flag拆分&#xff0c;两两一组&#xff0c;通过for循环放入encrypt加密函数 #include <stdio.h> #define uint32_t unsigned intvoid decrypt(uint32_t *v, uint32_t *ke…

拆单算法交易(Algorithmic Trading)

TWAP TWAP交易时间加权平均价格Time Weighted Average Price 模型&#xff0c;是把一个母单的数量平均地分配到一个交易时段上。该模型将交易时间进行均匀分割&#xff0c;并在每个分割节点上将拆分的订单进行提交。例如&#xff0c;可以将某个交易日的交易时间平均分为N 段&am…

守护数据安全: 零信任视角下的勒索病毒防范之道

前言 就在近日&#xff0c;鸿海集团旗下半导体设备大厂——京鼎精密科技股份有限公司&#xff08;以下简称“京鼎”&#xff09;遭到了黑客的入侵。黑客在京鼎官网公布信息直接威胁京鼎客户与员工&#xff0c;如果京鼎不支付赎金&#xff0c;客户资料将会被公开&#xff0c;员…

pyqt 滑动条控件QSlider

pyqt 滑动条控件QSlider 滑动条控件QSlider效果代码 滑动条控件QSlider QSlider 是 PyQt中的一个控件&#xff0c;它允许用户通过拖动滑块或点击滑块轨道上的任意位置来选择一系列值。 QSlider 有两种主要的类型&#xff1a;Qt.Horizontal&#xff08;水平滑块&#xff09;和 …

java版数据结构:深入理解栈和队列:数据结构与应用(vector,stack,queue)

目录 前言 动态数组类&#xff08;vector&#xff09; 特点&#xff1a; 应用&#xff1a; 栈&#xff08;Stack&#xff09; 栈的基础概念&#xff1a; 栈的常用方法&#xff1a; 模拟栈操作&#xff1a; 队列&#xff08;Queue&#xff09; 队列的基础概念 队列的常…

VS Code工具将json数据格式化

诉求&#xff1a;json数据格式化应该在工作中用到的地方特别多&#xff0c;为了更方便、更仔细的对json数据查看&#xff0c;将json数据格式化是非常有必要的。 VS Code中如何将json数据快速格式化 1、在VS Code中安装Beautify JSON插件 2、安装完后在需要格式化的文件中按住…

Easy TCP Analysis上线案例库功能,为用户提供一个TCP抓包分析案例分享学习的平台

​案例库&#xff0c;提供给用户相互分享TCP抓包故障排查案例或是经典学习案例的功能&#xff0c;任何用户都可从案例库查看其它用户分享的案例&#xff0c;每个用户也都可以上传自己的案例&#xff0c;经过平台审核去重即可展示在案例库。 对于学习&#xff0c;最典型的三次握…

Linux进程概念(下)

Linux进程概念 1. 命令行参数2. 环境变量2.1 环境变量的概念2.2 环境变量的使用和一些问题2.3 获取环境变量2.4 深入理解环境变量2.5 环境变量相关的命令 3. 进程地址空间3.1 基本概念3.2 为什么要有地址空间 1. 命令行参数 main函数也可以带参数的&#xff0c;如下 #include…

Linux内核之原子操作:atomic_long_dec用法实例(六十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

2023-2024年汽车行业报告/方案合集(精选345份)

汽车行业报告/方案&#xff08;精选345份&#xff09; 2023-2024年 来源&#xff1a;2023-2024年汽车行业报告/方案合集&#xff08;精选345份&#xff09; 【以下是资料目录】 2023中国汽车科技50强 2023中国智能汽车产业发展与展望 2023比亚迪海豹汽车拆解报告 2023新能…