做网站的后台开发需要会些什么求职seo
如果项目过去复杂,我们往往按照功能对项目拆分为多个应用。这些应用如何来配合,这一节我们一起来看看。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
App级别的路由规则
1. 创建第二个App
和创建第一个App的方法一样,在manage.py
目录跑下面的命令,创建一个叫做Two
的项目
(django) [fuhx@testmachine HelloDjango]$ python manage.py startapp Two
之后可以看到项目自动创建了一个和App一样结构的Two文件夹
(django) [fuhx@testmachine HelloDjango]$ tree Two
Two
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py1 directory, 7 files
注意,新建的应用一定要记得在项目中注册,不然后面会有意想不到的报错出现。在settings.py
的INSTALLED_APPS
中添加新建的应用名字
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','App','Two',
]
2. 给新App创建专属路由
不光全局可以有路由规则,每个应用也可以有自己的路由规则。
创建一个路由规则Two/urls.py
模仿全局的路由规则文件创建如下规则
这里详细说一下路由规则,首先要注意这里的views是从Two这个项目引入的,也就是说这里的路由规则都会引导到Two这个项目的view函数。而全局路由规则里面是从App这个项目引入的。然后这里可能会让人困惑,都是index.html
,全局的路由规则里面也有一个,到时候到底怎么处理呢?这个暂时先不用担心,在下面的访问规则里面我们再看。
from django.urls import pathfrom Two import viewsurlpatterns = [path('index.html/', views.index)
]
再次安利一下pycharm的万能键Alt + Enter,例如上面这张图片中views.index
的index是标黄的,我们把光标放在上面,按一下万能键,会自动帮我们在Two/views.py
中创建一个index函数,而且格式都写好了,如下:
我们只需要在加一个return即可,当然也可以通过万能键让pycharm帮我们完成import等操作。这里简单起见我们只是返回一个字符串。
3. 在项目的中路由中包含App级别路由
我们在Two这个应用里面创建了路由规则和对应的view函数,但是我们此时访问网页还是默认走的全局的路由规则。需要在全局路由里面指定符合某个前缀的url,例如以http://127.0.0.1:8000/two/
开始的url,就重定向到Two这个项目里面的规则继续判断。
在全局路由里面采用include
把Two项目的路由规则加进来,这里的include可以看成是对url的一个拼接
4. 访问规则
这样子设定以后,访问http://127.0.0.1:8000/two/xxx
的url就会把/xxx
部分拿到Two应用的路由规则里面继续判断了。如果访问的url是http://127.0.0.1:8000/two/index.html/
就匹配到我们刚才设定的如下规则
path('index.html/', views.index)
进而采用Two这个应用里面的view函数index来处理了。
结果如下
总结
MTV模型的V和T现在了解的差不多了,下面我们来试着和数据库交互一下,也就是MTV中的M。