Django项目创建流程

Django项目创建流程

推荐使用pycharm并使用虚拟环境进行项目创建

一、Anaconda虚拟环境创建流程

命令行创建

1. 安装Anaconda

如果你还没有安装Anaconda,可以从Anaconda官网下载并安装适合你操作系统的版本。安装完成后,打开命令行终端(如Windows的Anaconda Prompt或macOS/Linux的终端)。

2. 更新conda

在创建新的虚拟环境之前,最好先更新conda

conda update conda
3. 创建虚拟环境

使用以下命令创建一个新的虚拟环境。例如,创建一个名为myenv的环境:

conda create --name myenv

你可以指定要安装的Python版本或其他包。例如,创建一个包含Python 3.8的环境:

conda create --name myenv python=3.8

你还可以在创建环境时一次性安装多个包:

conda create --name myenv python=3.8 numpy pandas
4. 激活虚拟环境

创建环境后,你需要激活它:

conda activate myenv

激活环境后,你会在命令提示符中看到环境的名称,例如(myenv)

5. 安装包

在激活的虚拟环境中,你可以使用condapip安装所需的包。例如:

使用conda安装包:

conda install scipy

使用pip安装包:

pip install requests
6. 列出所有虚拟环境

使用以下命令可以查看你所有的虚拟环境:

conda env list
7. 列出环境中的包

使用以下命令列出当前环境中安装的所有包:

conda list
8. 停用虚拟环境

完成工作后,可以停用当前的虚拟环境:

conda deactivate
9. 删除虚拟环境

如果你不再需要某个虚拟环境,可以将其删除:

conda remove --name myenv --all
10. 导出和导入环境

你可以将环境导出为YAML文件,然后在其他机器上导入:

导出环境:

conda env export > environment.yml

在其他机器上导入环境:

conda env create -f environment.yml

图形用户界面创建

使用Anaconda图形用户界面(GUI)创建和管理虚拟环境非常直观和方便。以下是如何通过Anaconda Navigator来创建和管理虚拟环境的详细步骤:

1. 打开Anaconda Navigator
  • 在你的操作系统中打开Anaconda Navigator。如果你没有安装Anaconda Navigator,可以从Anaconda官网下载并安装Anaconda。
2. 创建新的虚拟环境
  • 在Anaconda Navigator的主界面中,点击左侧的Environments选项卡。
  • Environments选项卡的下方,点击Create按钮,打开创建新环境的对话框。
3. 配置虚拟环境
  • 在弹出的对话框中,为你的新环境命名,例如myenv
  • 选择你需要的Python版本或其他语言版本。如果需要特定版本的Python,例如Python 3.8,可以在下拉菜单中选择。
  • 点击Create按钮,Anaconda Navigator将开始创建新的虚拟环境。这可能需要几分钟时间,具体取决于你选择的Python版本和其他配置。
4. 激活虚拟环境
  • 创建完成后,新环境将出现在左侧的环境列表中。
  • 点击你创建的环境名称,例如myenv,然后点击右侧面板中的Home选项卡。
  • Home选项卡中,你可以看到一些常用的应用程序(如Jupyter Notebook、Spyder等)。点击Install按钮安装你需要的应用程序。
5. 安装包
  • 选中环境后,你可以在Environments选项卡的右侧面板中看到InstalledNot installedUpdateable三个标签。
  • 点击Not installed标签,你可以看到尚未安装的所有可用包。使用搜索栏搜索你需要的包,例如numpy
  • 勾选你要安装的包,然后点击右下角的Apply按钮。Anaconda Navigator将自动处理包的安装和依赖关系。
6. 管理环境
  • 列出所有环境:在Environments选项卡中,你可以看到所有已创建的环境。
  • 查看环境中的包:点击环境名称后,你可以在右侧面板中查看和管理该环境中的所有包。
  • 停用环境:在Anaconda Navigator中,环境的激活和停用是通过选择不同的环境来实现的,你无需手动停用环境。
7. 删除虚拟环境
  • Environments选项卡中,找到你想要删除的环境。
  • 选中该环境后,点击右上角的Remove按钮。
  • 确认删除操作,Anaconda Navigator将删除该环境及其所有内容。
8. 导出和导入环境
  • 导出环境:选中环境后,点击Export按钮。选择保存路径和文件名,导出环境为.yml文件。
  • 导入环境:在Environments选项卡的底部,点击Import按钮。选择之前导出的.yml文件,Anaconda Navigator将自动创建并配置环境。

二、安装Django包

命令

pip install -i https://pypi.douban.com/simple django==4.2

安装完成后会在电脑原先装Python的文件下面新增一些文件:

  1. 在Python文件夹下的 Scripts 文件夹中会新增 django-admin.exe(工具,创建django项目中的文件和文件)
  2. 在Python文件夹下的 Lib 文件夹下的 site-packages 新增 django 文件夹(框架的源码)

三、创建

在终端创建

  1. 打开终端。
  2. 进入某个目录(项目放在哪里)
  3. 执行命令创建项目
例如:"c:\python39\Scripts\django-admin.exe" startproject 项目名称

# 如果 c:\python39\Scripts 已加入环境系统环境变量。
django-admin startproject 项目名称

Pycharm创建

直接选择左侧的Django进行创建即可(需要专业版)

说明
  • 命令行,创建的项目是标准的。

  • pycharm,在标准的基础上默认给咱们加了点东西。

    • 创建了一个templates目录【删除】

    • settings.py中【删除】
      在这里插入图片描述

默认项目文件介绍
项目名
├── manage.py         【项目的管理,启动项目、创建app、数据管理】【不要动】【经常用】
└── 文件名
    ├── __init__.py
    ├── settings.py    【项目配置文件】  【经常修改】
    ├── urls.py        【URL和函数的对应关系】【经常修改】
    ├── asgi.py        【接收网络请求,支持异步】【不要动】
    └── wsgi.py        【接收网络请求,仅同步】【不要动】
settings.py 文件说明
from pathlib import Path

# 项目根目录,即定位到了最外层的目录
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# 项目密钥
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-#$_$-zno^n$cf*j)a3m3!^&r_r=33#g(a7-y1w=w^@a13pnsy4'

# 是否启用调试模式,True:表示调试模式,一般用于开发过程;False:表示非调试模式,一般用于上线部署
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# 被允许访问的域名或IP
ALLOWED_HOSTS = ['*']

# 定义应用
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # App的注册
    'App.apps.AppConfig',

    # 定义自己的应用 例:
    'user'
]

# 中间件
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 = 'DjangoDemo01.urls'

# 模板
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 指定模板的文件夹
        'DIRS': [BASE_DIR / 'templates']
        ,
        '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',
            ],
        },
    },
]

# wsgi 目录
WSGI_APPLICATION = 'DjangoDemo01.wsgi.application'


# Database
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}


# 密码验证密码验证
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

# 国际化
# Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/
LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_TZ = True

# 静态文件 (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/
STATIC_URL = 'static/'

# 默认的主键字段类型
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
创建app
- 项目
	- app,用户管理【表结构、函数、HTML模板、CSS】
	- app,订单管理【表结构、函数、HTML模板、CSS】
	- app,后台管理【表结构、函数、HTML模板、CSS】
	- app,网站   【表结构、函数、HTML模板、CSS】
	- app,API    【表结构、函数、HTML模板、CSS】
	..

注意:这里不是手机中的App;一般情况下,项目下创建1个app即可。

App的创建命令:

manage.py stratapp App名称

在这里插入图片描述

App项目结构

├── app名称
│   ├── __init__.py
│   ├── admin.py         【固定,不用动】django默认提供了admin后台管理
│   ├── apps.py          【固定,不用动】app启动类
│   ├── migrations       【固定,不用动】数据库变更记录
│   │   └── __init__.py
│   ├── models.py      【重要】对数据库操作,添加模型层数据类文件
│   ├── tests.py        测试代码文件
│   └── views.py         【重要】函数
├── manage.py
└── 文件名
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py          【URL->函数】
    └── wsgi.py
数据迁移

迁移的概念:就是将模型映射到数据库的过程

生成迁移文件:

python manage.py makemigrations

执行迁移:

python manage.py migrate

不需要初始化迁移文件夹,每个应用默认有迁移文件夹migrations

项目中生成的sqlite数据库并不能直接打开,需要在pycharm的database中进行配置

注:首次配置一般会提示下载连接驱动,直接下载即可

快速上手与运行
  • 确保app已注册 【settings.py】
    在这里插入图片描述

  • 编写URL和视图函数对应关系 【urls.py】
    在这里插入图片描述

  • 编写视图函数 【views.py】
    在这里插入图片描述

  • 启动django项目

    • 命令行启动

      python manage.py runserver ip:端口
      例如:python manage.py runserver 127.0.0.1:8000
      
    • Pycharm启动
      在这里插入图片描述

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值