django系列-环境及纯净配置
1 2 | D:\learn_django>python -m venv ll_env(环境名称) --python=python3.6 #可以替换成电脑里其他python版本 D:\learn_django>python -m venv ll_env(环境名称) --python= 'C:\python\python3.6.exe' #可以直接使用路径查找 |
pip install virtualenv 创建方法一: cd \xxx\xxx\ #进入目录 virtualenv 环境名称 --python=python3.9(系统中解释器) #创建虚拟环境 创建方法二: virtualenv \绝对路径\环境名称 --python=python3.7 #直接创建虚拟环境
- 虚拟环境什么
多个项目共用 ->一个虚拟环境文件 单个项目 ->独立虚拟环境文件
pycharm中找到settings,设置python解释器环境
D:\learn_django\ll_env\Scripts\activate # Windows [root@xxxx opt]cd ./ll_env/bin/ source activate #Linux 或者 source /ll_env/bin/activate
D:\learn_django\ll_env\bin\activate
安装Django
(ll_env) pip install django==3.2
pip list
pip freeze > requirement.txt
pip install -r requirement.txt
d:\learn_django - python.exe - Scripts - pip.exe - django-admin.exe 【工具,创建django项目中的文件和文件夹】 - Lib - 内置模块 - site-packages - openpyxl - python-docx - flask - django 【框架的源码】
django-admin startproject mysite . #这里输入"."可以创建项目在当前文件夹中,省去一级目录
文件结构
├─ manage.py 【项目的管理、启动、创建app、数据管理】 【不要动】 └─ mysite ├─ __init__.py ├─ setting.py 【项目配置】 【***常常操作***】 ├─ urls.py 【URL和函数的对应关系】 【***常常操作***】 ├─ asgi.py 【接受网络请求】 【不要动】 └─ wsgi.py 【接受网络请求】 【不要动】
├─ app01 │ ├─ __init__.py │ ├─ admin.py 【固定,不用动】django默认提供了admin后台管理 │ ├─ apps.py 【固定,不用动】app启动类 │ ├─ migrations【固定,不用动】数据库变更记录 │ ├─ └─ __init__.py │ ├─ models.py 【***重要***】对数据库进行操作 │ ├─ tests.py 【固定,不用动】单元测试 │ ├─ views.py 【***重要***】URL所对应的函数 ├─ manage.py └─ mysite ├─ __init__.py 【初始化文件】 ├─ setting.py 【项目部分配置,其他配置在django-admin中】【***常常操作***】 ├─ urls.py 【主路由,URL和函数的对应关系】 【***常常操作***】 ├─ asgi.py 【异步,接受网络请求】 【不要动】 └─ wsgi.py 【同步,主用,接受网络请求】 【不要动】
多app结构建议
projectfile .venv #虚拟环境目录 projectfile ... ... manage.py apps #app文件夹 web #app项目 backend #app项目 api #app项目
settings.py
INSTALLED_APPS = [ # 'django.contrib.admin', # 'django.contrib.auth', # 'django.contrib.contenttypes', # 'django.contrib.sessions', # 'django.contrib.messages', 'django.contrib.staticfiles', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', # 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', # 'django.contrib.auth.middleware.AuthenticationMiddleware', # 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'djangodrf.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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', ],
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期