DW学习笔记:Django后端开发入门之Task01
Django环境配置
虚拟环境配置
为更高效的管理不同的代码环境,在正式安装包之前,通过创建虚拟环境对项目进行隔离。这里选择使用anaconda进行虚拟环境创建。为更高效管理不同的代码环境,在使用Anaconda创建虚拟环境时,可以按照以下步骤进行:
步骤和指令
-
打开Anaconda Prompt
在开始菜单中找到并打开Anaconda Prompt。 -
创建虚拟环境
使用conda create
命令来创建一个新的虚拟环境。可以指定环境的名字和想要使用的Python版本。例如:conda create -n EnvName python=3.11
-
查看虚拟环境列表
在创建好虚拟环境之后,可以使用conda env list
查看当前的虚拟环境列表,检查虚拟环境是否正确创建。 -
激活虚拟环境
在创建虚拟环境后,需要激活它以便在该环境中安装包和运行代码。使用以下命令来激活虚拟环境:conda activate EnvName
库文件的安装
第三方源配置
要长期配置Anaconda虚拟环境使用清华源,可以按照以下步骤进行操作:
- 对于conda
- 添加清华镜像源:在Anaconda Prompt中输入以下命令来添加清华的镜像源。这些命令将清华的镜像地址添加到conda的配置中,使其成为包和依赖项的默认下载源。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- 设置显示通道地址:为了在安装或更新包时能够看到包是从哪个通道下载的,可以设置显示通道地址。
conda config --set show_channel_urls yes
- 验证配置:可以通过运行以下命令来验证配置是否正确。
conda config --show channels
这将显示当前配置的所有channels,包括刚刚添加的清华镜像源。
- 对于pip
- 配置pip使用清华镜像源:可以通过运行以下命令来永久配置pip使用清华的镜像源。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
这条命令会将清华的pypi镜像设置为pip的全局默认源。
步骤和指令
-
打开Anaconda Prompt
在开始菜单中找到并打开Anaconda Prompt。 -
激活虚拟环境
激活创建好的虚拟环境。conda activate EnvName
-
安装包
因为熟悉,选择我在这儿选择使用pip install
。需要安装的包主要有:django
、djangorestframework
、django-filter
、drf_spectacular
、django-debug-toolbar
以及django_extensions
。# 逐个安装 pip install django pip install djangorestframework pip install django-filter pip install drf_spectacular pip install django-debug-toolbar pip install django_extensions # 批量安装 pip install -r requirements.txt # 批量安装虽然快捷,但需要配置requirements文件
创建Django项目和APP,并启动项目
创建Django项目
一些指令的小集合
- 创建项目
在激活的虚拟环境中,使用下列指令创建项目。django-admin startproject projectname
- 创建APP
# 方法一:使用manage.py文件 python manage.py startapp appname # 方法二:使用django指令使用 django-admin startapp appname
- 数据库迁移
python manage.py makemigrations python manage.py migrate
- 启动Django服务
python manage.py runserver
创建项目和APP实践
-
使用
django-admin startproject NewProject
创建项目
-
使用
python manage.py startapp appname
创建APP
首先,进入创建的NewProject
目录,创建一个apps
文件夹,用于存放应用。
然后,进入apps
文件夹目录,使用指令创建MyApp
,指令:django-admin startapp MyAPP
。
-
更新文件里面的变量
创建好MyApp
之后,进入apps\MyApp
文件夹里面,修改生成的apps.py
文件里面的变量name
的值。
因为我创建的应用名为MyApp
,且内容是保存在apps
文件夹下的,所以修改变量值为name='apps.MyApp'
。
启动项目
设置setting.py文件
目前主要是修改setting.py文件的INSTALLED_APPS
列表中的信息。在该列表中,Django默认提供了Django 管理网站django.contrib.admin
、身份验证系统django.contrib.auth
等等内容。
在默认组件基础上,可以向INSTALLED_APPS
添加安装的库和我们自己的APP。
Django,启动!
- 数据库迁移
python manage.py makemigrations
python manage.py migrate
- 启动Django
python manage.py runserver
- 启动结果
正确完成数据库迁移操作,系统会提示:
(Air) F:\project\Django\new\NewProject>python manage.py makemigrations
No changes detected
(Air) F:\project\Django\new\NewProject>python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
正常启动Django服务
(Air) F:\project\Django\new\NewProject>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
May 13, 2024 - 23:12:08
Django version 5.0.3, using settings 'NewProject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
通过点击给出的http://127.0.0.1:8000/
,可以进入web页面。
一些报错以及我的解决方法
找不到manage.py
文件
具体报错信息如下:
D:\anaconda\python.exe: can't open file 'F:\\project\\Django\\new\\manage.py': [Errno 2] No such file or directory
解决方案:
- 查看当前路径是否正确
使用cd命令进入manage.py
文件所在目录,然后在该目录使用python manage.py XXXXX
。 - 使用全局路径
将python manage.py XXX
中的manage.py
修改为其实际所在的绝对路径。就可以在当前所在目录中没有manage.py
文件的情况下,使用相关指令。例如:创建APP时,也就可以在apps
文件夹中实现新建APP。 - 使用其他指令代替
例如在创建APP时,可以使用django-admin startapp appname
来创建APP,绕过manage.py
文件的使用,也就不会出现找不到文件的问题。
ModuleNotFoundError
主要是找不到MyApp
,产生的原因是在apps.py文件中没有正确修改变量name
。
具体报错信息:
解决方案:
- 正确修改
apps.py
中的变量name
因为我的MyApp
是存放在apps
文件夹下的,如果直接使用默认的name='MyApp'
也就会导致后面的程序中的相关路径出现错误。因此,需要将其修改为name= 'apps.MyApp'
。当然,这里的修改应该根据实际的路径和APP名进行修改。
结语
以上就是在第一次作业中,我的收获和总结。