虽然我写的渣,但是请珍惜小女子的劳动成果,不要无出处标明的转载复制等侵权行为!!
在上一期介绍中(https://blog.csdn.net/timcanby/article/details/98539705)我们讲了一大堆有用没用的东西 ,这期开始我们一点一点介绍django的每一个小细节,并且尝试搭建一个有数字识别功能的小网站。
首先我们回到建立好的project目录文件夹(有manage.py的那个)使用命令行输入
python manage.py startapp [appname]
创立一个名叫appname(我设置成 image_recognation)的application。然后我们可以看到该文件夹中出现了以下一个文件夹:
为什么要建立一个application呢?
https://blog.csdn.net/timcanby/article/details/98539705 中我们介绍了Django就像一个生产线,那么上一期的说明中我们并没有说明最重要的:各个独立生产房流水线的存在。每一个生产房(子app)有着不同的技能,在做不同的工序。在建立一个复杂的项目时往往可能会由多个子app一起组成这个工厂的加工线。
我们可以看 这个小子车间拥有它的车间小指挥view,那我们就先让它在整个project里面报个到!
我们先得告诉车间总指挥听到“请报道”后要在窗口报道这件事,于是编辑image_recognation车间(文件夹)下的views.py
我们写个函数简单粗暴(实际写项目还是使用英文来表示比较好),函数的名字叫baodao于是在views中加入:
from django.http import HttpResponse
def baodao(request):
return HttpResponse("工厂(子app)image recognation 的总指挥员已经到位!")
当baodao函数收到请求时,回复一个响应:
工厂(子app)image recognation 的总指挥员已经到位!
生产车间里可能还有很多流水线,所以像part1中说明的那样,车间里有一个处理订单的小妹不是更好,于是这里我们手动在这个车间里建立一个管理车间内务的订单小妹,在当前image_recognation文件夹中建立一个新的文件urls.py,召唤订单小妹:
from django.urls import path
并记入一个对应pattern:当我没有声明流水线号path(‘’)的时候我喊的是车间总管理员报道,path(‘’,views.baodao)且这个操作叫‘baodao’path(‘’,views.baodao)
from . import views
from django.urls import path
urlpatterns = [
path('', views.baodao, name='baodao'),
]
于是我们把车间布置好了 那我们要怎么样才能让总工厂来给这个小车间下命令呢,没错我们要告诉总工厂的订单小妹收到这个工厂的订单是联系这个工厂开始工作:
打开总project文件中的urls.py文件夹,首先召唤总工厂的小妹并告诉这个总厂的订单小妹我们有个分车间(使用django.urls中的include):
from django.urls import include, path
然后在记入一个partten:
urlpatterns = [
path('image_recognation/', include('image_recognation.urls')),
path('admin/', admin.site.urls),
]
当订单中指明image_recognation/车间的时候:path(‘image_recognation/’)
把订单交给该车间的(我们刚刚自己召唤(建立)的)订单小妹urls.py:
path('image_recognation/', include('image_recognation.urls'))
于是我们可以执行一下看看是什么情况了:命令行敲:
$ python manage.py runserver
点进提供的地址,你会发现:嗯????啥情况???
懵了,我的车间都去哪了呢????其实这时候,是提交用户的请求出现了问题,用户访问的地址并没有写明我要让哪个车间的指挥报道呀~~讲访问的地址,其实也就是兑现刚刚告诉总厂订单小妹的承诺(pattern)要添加上车间名词:
于是:
哦哦厉害,那我们想叫这个车间的生产线1报个道呢???同理:
车间文件夹
image_recognation/
的views.py中声明一个第一流水线动作(函数)
def Shengchanxian(request):
return HttpResponse("生产线1可以开始工作了!!!!")
告诉
image_recognation/车间的urls.py 订单小妹(添加在刚才的pattern模版下面):
urlpatterns = [
path('', views.baodao, name='baodao'),
path('1', views.Shengchanxian, name='baodao1')
]
并记入一个对应pattern:当我没有声明流水线号path(‘1’)的时候我喊的是第一流水线报道,path(‘1’,views.Shengchanxian)且这个操作叫 path('1', views.Shengchanxian, name='baodao1')。
运行且这次我们知道了 访问的地址该是:
于是我们可以看到流水线听话的做出了响应~~~
好了这一节就到这里,小女子下期将逐渐开始讲(大话)一些工厂里的细节工作,让我们构筑一个文字识别小站~
本节主要是体验下这个运作,代码就那么几句就不传github啦,有问题有意见可以留言,让我们文明和平讨论。好的于是下期再见