简单了解Django应用app及分布式路由

yipeiwu_com6年前Python基础

前言

应用在Django的项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型.

一 创建应用程序

创建步骤

用manage.py中的子命令startapp创建应用文件夹

在settings.py的INSTALLED_APPS列表中配置安装此应用

创建应用的子命令

python3 manage.py startapp应用名称(必须是标识符命令规则)

如:python3 manage.py startapp音乐

Django的应用的结构组成

migrations文件夹 保存数据迁移的中间文件
__inti__.py 应用子包的初始化文件
admin.py 应用的后台管理配置文件
apps.py 应用的属性配置文件
models.py 与数据库相关的模型映射类文件
tests.py 应用的单元测试文件
views.py 定义视图处理函数的文件

在settings.py中配置应用,让此应用能和整个项目融为一体

# file : settings.py 
INSTALLED_APPS = [
  ... ...,
  '自定义应用名称'
]

如:

INSTALLED_APPS = [
  # ....
  'user', # 用户信息模块
  'music', # 音乐模块
]

二 应用的分布式路由

在Django中,主文件夹可以不处理用户具体请求的,主文件夹的作用是做项目的初始化以及请求的分发(分布式请求处理)。具体的请求可以由应用来进行处理的

django.conf.urls里的包含函数

作用:用于分布将当前路由转到各个模块的urlpatterns进行分布式处理

函数格式:包含('应用程序名字.URL模块名')

参数说明:模块App命字/url模块名.py文件件里必须有urlpatterns列表

使用包括函数让某个正则匹配后关联分支到某个app示例如下:

# file : <项目名>/urls.py
from django.conf.urls import include

urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^music/', include('music.urls')),
]

##################

# file : music/urls.py
from django.conf.urls import url
from . import views

urlpatterns = [
  url(r'^page1', views.page1),
  url(r'^page2', views.page2),
  url(r'^page3', views.page3),
  # ...
]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python解决抛小球问题 求小球下落经历的距离之和示例

本文实例讲述了Python解决抛小球问题 求小球下落经历的距离之和。分享给大家供大家参考,具体如下: 问题: 小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地...

基于python的图片修复程序(实现水印去除)

基于python的图片修复程序(实现水印去除)

图片修复程序-可用于水印去除 在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有...

python-str,list,set间的转换实例

实例如下: a = '123abbcc!@#' b = ['1', '2', '3', 'a', 'b', 'c', '!', '@', '#'] c = set(['a', '!...

使用批处理脚本自动生成并上传NuGet包(操作方法)

使用批处理脚本自动生成并上传NuGet包(操作方法)

  Hello 大家好,我是TANZAME,我们又见面了。   NuGet是什么这里就不再重复啰嗦,园子里一搜一大把。今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过...

详谈python3中用for循环删除列表中元素的坑

for循环语句的对象是可迭代对象,可迭代对象需要实现__iter__或iter方法,并返回一个迭代器,什么是迭代器呢?迭代器只需要实现 __next__或next方法。 现在来验证一下列...