通过上次的学习,我们已经创建了一个Django的project,并且成功的运行了它
那么接下来我们就需要创建一个app了
什么是app
project包含一些全局配置,这些配置构成一个全局的运行平台,各个APP都运行在这个全局的运行平台上,而APP代表的是一个相对独立的功能模块,所以程序的逻辑都在APP中。
回顾一下我们project目录的结构
test1\
|---templates
|---test1\
|---__init__.py
|---settings.py
|---urls.py
|---wsgi.py
|---venv
db.sqlite3
manage.py
接下来让我们来创建一个app,看看我们的目录结构有什么变化
首先用鼠标选中最层的目录,接着在屏幕下面偏左的位置选择Terminal
之后再弹出的空白处回车几次就可以打开Terminal终端,相当于windows下的cmd
这样我们就不用再切去其他界面使用命令了
此时我们所处的目录应该是manage.py所在的目录(与manage.py同级)
输入以下命令创建一个名为apptest的app
python manage.py startapp apptest
此时再次观察目录结构
test1\
|---templates
|---apptest\
|---migrations\
|---__init__.py
|---settings.py
|---urls.py
|---wsgi.py
|---test1\
|---__init__.py
|---settings.py
|---urls.py
|---wsgi.py
|---venv
db.sqlite3
manage.py
我们会发现多出了一个apptest的目录,这个目录就是我们所创建的app了
下面介绍一下各个文件
migrations
数据移植(迁移)模块
__init__.py
声明模块,通常为空
admin.py
该app的后台管理系统的配置文件
apps.py
该app的配置文件
models.py
数据模型模块,以后创建数据表都在这里创建,数据模块,使用ORM模块,类似于mvc中的model
tests.py
自动化测试模块 django提供了自动化测试的功能,在这里编写测试脚本(语句)
views.py
执行响应的代码所在的模块 代码的逻辑主要地点 项目中的大部分代码均是在这里进行编写的
编写第一个视图
首先我们先添加如下代码到app中的views.py文件中
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello, world.')
这就是Django中最简单的view了,同时为了能够在页面上看到效果,我们需要将一个URL映射到它
编辑project中的urls.py文件
源文件样式:
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
编辑后样式:
from django.contrib import admin
from django.urls import path
from apptest import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',views.index),
]
首先我们引入了apptest中的views
然后我们将index/这个URL映射到了views中的index
启动这个应用并且访问我们的地址
http://127.0.0.1:8000/index
可以看到我们配置的页面成功访问
index就是我们在project中的urls文件中配置的index
你也可以尝访问以前有的admin试试看是什么效果哦