什么是应用程序?
一个项目通常包含多个具有具体功能的应用,比如一个电商网站,可能包含了商品交易, 文章信息, 用户交流等等功能,进行程序设计的时候,我们不能把所有的程序都放在一起,这会导致程序显得特别混乱,臃肿,无法进行很好的维护,必须把他们进行拆解
那么其中的商品交易、文章信息、用户交流都可以作为每一个子项目,这种实现特定功能的子项目就称为应用程序
在Django中,我们需要通过添加应用程序来开发自己的功能
创建应用程序
确保您当前处在与manage.py的同一级目录中执行以下命令
python manage.py startapp polls
执行该命令后,Django会自动帮您创建好polls基本的目录结构
polls/
__init__.py - 包文件
admin.py - 后台管理模块
apps.py - 应用程序模块
migrations/ - 数据库迁移
__init__.py
models.py - MVC模型中 Model
tests.py - 测试
views.py - MVC模型中View
编写视图View
编辑应用程序中的views.py文件
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
这样就创建了一个index视图函数,接下来我们还需要给用户提供的一个url地址来访问这个视图函数
在应用程序目录中添加urls.py文件
本例在polls目录中添加urls.py文件
在urls.py文件中,可以定义多个url地址与视图函数之间的关系
# 需要导入
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在项目的urls.py中导入应用程序的urls
这里的urls.py是项目的urls.py, 即myproject/urls.py
from django.contrib import admin
from django.urls import include, path # + 增加导入include
urlpatterns = [
path('polls/', include('polls.urls')), # + 新增的
path('admin/', admin.site.urls),
]
include
函数用于导入应用程序的urls.py模块,通过include函数导入,应用程序中的urls.py定义的访问路径就可以生效了
运行程序并访问polls
python manage.py runserver
讨论区