# 安装Python 3
sudo apt-get update
sudo apt-get install python3
# 安装pip
sudo apt-get install python3-pip
# 安装virtualenv
pip3 install virtualenv
# 创建一个新的virtualenv目录
mkdir ~/my_django_project
cd ~/my_django_project
# 创建virtualenv
python3 -m virtualenv venv
# 激活virtualenv
source venv/bin/activate
# 在virtualenv中安装Django
pip install django
# 安装VSCode的Python扩展
# 通过Visual Studio Code的扩展市场安装
接下来,在VSCode中:
-
打开项目文件夹。
-
按
Ctrl+Shift+P
打开命令面板,输入并选择Python: Select Interpreter
。 -
从列表中选择你的virtualenv Python解释器,通常在
~/my_django_project/venv/bin/python
。
创建项目
使用Virtualenv安装Django
Virtualenv是python环境构建器。它用于创建隔离的python环境。我们可以选择将在virtualenv环境中安装的python版本。这对于开发人员非常有用,他们可以在一个OS上运行和开发具有不同python版本和不同环境的应用程序。
Virtualenv在PyPI存储库中可用-我们可以使用pip命令安装它:
pip install virtualenv
pip install -i https://pypi.douban.com/simple virtualenv
安装完成后,使用django-admin命令创建一个名为“ project01”的新项目:
django-admin startproject project01
该命令将创建一个包含Django文件的新目录“ project01”:
cd project01/
tree
现在,使用vi命令在“ project01”目录下编辑“ settings.py”。
vi project01/settings.py
在“ ALLOWED_HOSTS”行中键入服务器IP地址,如下所示。
ALLOWED_HOSTS = [‘192.168.80.130’]
保存并退出。
现在运行python django runserver命令。
python manage.py runserver 192.168.80.130:8000
该命令将在端口“ 8000”上的IP地址“ 192.168.80.130”上运行python django。
将配置Django管理员。Django将自动为超级用户生成数据库。在创建超级用户之前,请运行以下命令:
python manage.py migrate
migrate:make将模型(添加字段,删除等)添加到数据库方案中,默认数据库为sqlite3。
运行项目
创建完项目以后,进入到项目根目录下运行如下命令
python manage.py runserver ip:端口
创建Django应用
在Django项目中,推荐使用应用来完成不同模块的任务
一个项目可以包含多个应用,而一个应用也可以在多个项目中使用
在Django中,每一个应用都是一个python包,并且遵循着相同的约定和结构
Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了
项目和应用有什么区别?
简单理解为一个项目即是一个网站,一个应用就是这个网站的某一个功能板块
例如,CSDN网站是一个项目,其中博客、下载、学习和社区等是一个个组成项目的应用
如果服务已经启动,先按下<Ctrl + C>组合键关闭服务,然后在项目根目录下运行如下命令
python manage.py startapp 应用名
效果如下所示:
在生成的目录结构中,study_django目录下又多了一个article目录
文件 说明
__init__.py 一个空文件,告诉Python这个目录应该被认为是一个python包
migrations 执行数据库迁移生成的脚本
admin.py 配置Django管理后台的文件
apps.py 单独配置添加的每个app的文件
models.py 创建数据库数据模型对象的文件
tests.py 用来编写测试脚本的文件
views.py 用来编写视图控制器的文件
创建完article应用以后,它不会立即生效,需要在项目配置文件study_django/settings.py中激活应用
代码如下所示:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 新增代码,激活article应用
'article.apps.ArticleConfig',
]