发布于 

django学习笔记(1):Django的安装与准备

开一个新坑,django开发。

Django介绍

  Django是一个开放源代码的Web应用框架,由Python写成。利用Django和相关的html和CSS知识,我们可以轻松构建出一个简单的网站。本文主要介绍使用Django的一些准备工作。

安装Django

  首先,你需要Python环境。这里以Python3环境为例。安装有两种方式:命令行安装使用开发软件Pycharm

  这里以Linux操作系统为例。首先打开命令行窗口,建立虚拟环境。

而后激活此虚拟环境。

如果想要停止此虚拟环境,你可以使用deactivate来关闭之。然后我们来下载Django。

注意

如果下载速度很慢,你可以尝试更换成国内镜像源。例如pip install Django -i https://pypi.tuna.tsinghua.edu.cn/simple

Pycharm中的使用相对而言简单许多。在项目文件下新建项目,而后在文件->设置->项目->Python解释器中安装Django即可。

开始使用Django

新建Django项目

  下载完Django库后,我们需要在我们的项目文件夹中新建一个Django项目,这将告诉Django,这不是一个纯Python项目。首先我们在Pycharm的终端或者命令行窗口运行以下指令:

1
django-admin startproject <projectname> .

其中,<projectname>是项目名称。

如果你使用的是Pycharm

Professional Edition,那么你可以直接在创建项目之初就创建Django项目,而无需上述的多步操作。但需要注意,在项目的setting.pyTEMPLATES中第一个字典的键DIRS存在[os.path.join(BASE_DIR, templates)],它将影响静态文件查找位置,最好删去。

注意,上述的命令语句千万不要忘记末尾的.。遗漏了这个句点将在后续项目部署上需要额外的复杂操作。

  最后运行python manage.py runserver,检查Django是否能正确运行。若可以,则初步配置成功。

Django项目中的文件结构

1
2
3
4
5
6
7
8
9
<projectname>
├─manage.py 【项目管理、启动项目、创建应用、数据管理】【无需更改】

└─<projectname>
├─__init__.py
├─settings.py 【项目配置文件】【例如注册应用、链接数据库】
├─urls.py 【url和函数对应关系】【主要编写的部分】
├─asgi.py 【接收网络请求】【无需更改】
└─vsgi.py 【接收网络请求】【无需更改】

新建应用

  根据项目的业务逻辑,我们将其分为多个应用来分开管理。我们先新建第一个应用,在终端输入命令

1
python manage.py startapp <appname>

于是我们得到这样的目录。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<projectname>
├─manage.py 【项目管理、启动项目、创建应用、数据管理】【无需更改】

├─<appname>
| ├─__init__.py
| ├─admin.py 【后台管理界面】
| ├─apps.py 【启动类】
| ├─models.py 【在数据库中创建对应表】
| ├─tests.py 【测试类】
| ├─views.py 【函数】
| └─migrations 【数据库迁移记录】
| └─__init__.py
|
└─<projectname>
├─__init__.py
├─settings.py 【项目配置文件】【例如注册应用、链接数据库】
├─urls.py 【url和函数对应关系】【主要编写的部分】
├─asgi.py 【接收网络请求】【无需更改】
└─vsgi.py 【接收网络请求】【无需更改】

  新建应用后,我们需要对其注册。我们找到应用下的apps.py,找到其启动类类名,以下是一个例子。

1
2
3
4
5
6
7
# filename: apps.py
from django.apps import AppConfig


class App01Config(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'app01'

于是我们修改settings.py中的内容:

1
2
3
4
5
6
7
8
9
10
11
# filename: settings.py
# 省略

INSTALLED_APPS = [
# 省略

'<appname>.apps.APP01Config',

]

#省略

于是,新的应用已经注册完毕,我们可以在该应用上开发了。