应用在django中为一个独立的业务模块,可以包含自己的路由、模板、模型。
当网站有很多分区时,可将他们分为多个应用,他们之间相互隔离,均为相对独立的MTV
①
可使用命令:
python manage.py startapp appname
来创建应用
②
在settings.py下的INSTALLED_APPS列表中配置安装此应用,直接将app名加在列表后。
eg:
应用中各文件作用:
admin.py:后台管理系统
models.py:模型层
tests.py:提供的测试文件
剩下的同django项目下同名文件夹内的同名文件
③
分布式路由配置,在主路由中将不同的路由请求分发给应用中的urls.py,再由应用中的路由进行进一步的分配。
eg:实现以/myapp开头的路由均交由app中的urls.py处理(需要自己创建)
要先导入include函数
from django.urls import include
主路由配置:
path('myapp/',include('myapp/urls.py')),
此时所有以/myapp开头的路由就会交给myapp下的子路由urls.py处理。
子路由处理:
from . import views from django.urls import path urlpatterns = [ path('page1',views.page1) ]
在views中的视图函数及模板写法同之前。
模板可在应用内部重新配置模板目录,自己新建templates文件夹后,在settings.py中开启其功能,将TEMPLATE中APP_DIRS的值设定为True即可(默认即为True)。
若外层templates与应用中tenplates都存在,则优先查找外层模板,之后按照INSTALLED_APPS中应用配置的先后顺序逐层查找。
若templates下还有多级目录,则在视图函数中返回时,只要加上templates文件夹下的目录路径即可
eg
myapp | |——templates | |——news | |——page1.html
return render(request,'news/page1.html')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)