Django 开发 | 03 - Django Quickstart

1,777 阅读2分钟

第一个 APP

创建 Django 项目 mysite,进入 urls.py 文件,可以在该文件中定义一个 index 函数,并在 urlspatterns 列表中添加 URL,代码如下所示:

from django.contrib import admin
from django.urls import path
# 新增导入
from django.http import HttpResponse


# 新增代码
def index(request):
    return HttpResponse('Index')


urlpatterns = [
    path('admin/', admin.site.urls),
    # 新增 URL
    path('index/', index)
]

启动项目,在 URL 地址栏输入 http://127.0.0.1:8000/index/ 显示如下页面

image.png

说明定义的 index 视图函数与定义的 URL 完成了映射,index 函数就是视图函数,负责处理前端提交的数据并且与后端进行交互。

如果业务或者视图函数比较多,全部写在 urls.py 文件中未免也太过拥挤并且不易维护,且 urls.py 在 Django 项目中的定位就是用来书写 URL 映射路径的;因此我们需要拆分

可以在项目目录 mysite 下单独创建一个 Python Package,命名为 polls 并且在该 Python 包中创建一个 views.py 专门用来保存视图函数,在该文件中输入一个 index 视图函数,代码如下所示:

from django.http import HttpResponse


def index(request):
    return HttpResponse('polls/index')

接着在 urls.py 文件中定义一个 URL 映射

from django.contrib import admin
from django.urls import path
# 新增
from polls import views


urlpatterns = [
    path('admin/', admin.site.urls),
    # 新增
    path('index/', views.index)
]

保存之后,Django 会重新加载该文件,浏览器访问 http://127.0.0.1:8000/index/

image.png

接着我们可以新建一个 models.py 文件用来保存 ORM 模型,该 ORM 模型对应着数据库中的一张表,创建一个 forms.py 对应着前端页面的表单

image.png

创建完这些之后整个 polls 包就是一个 Django 中的 APP,这就是 APP 中各个文件的作用,我们可以通过 Django 创建一个 APP,然后可以自动创建这些文件,在项目目录下通过如下命令创建:

python manage.py startapp polls

通过命令自动创建的 APP 包含以下文件

image.png

Django 项目推荐的规范是按照功能或者模块进行分层,也就是一个个的 APP,所有和某个模块相关的视图函数都写在对应的 APP 的 views.py 文件中,并且模型和表单也是类似。

注意在创建完 APP 后一定要在 settings.py 文件中的 INSTALLED_APPS 列表中进行注册,如下所示:

image.png

除此之外 settings.py 文件中通过 DEBUG=True 这项设置默认开启了 Debug 模式,方便进行错误排查,如果开启了 Debug 模式:

  • 当修改了 Django 项目的代码时,保存之后 Django 会自动重启项目,无须手动重启
  • 如果出现 Bug,浏览器页面会出现详细的出错信息

要注意的是 Django 项目在生产环境中一定要讲 DEBUG 设置为 False,在开发环境中如果设置了 DEBUG=False 则需要设置 ALLOWED_HOSTS 即允许访问的地址 IP 地址,设置为 0.0.0.0 则表示所有的 IP 都可以访问本机中的 Django 应用。

image.png