It's Ready For Django!

 

一、下载

pip3 install django                              

二、Django项目

django-admin startproject django01

 目录结构“欣赏”:

这目录结构一定要理解!!!

三、功能分类

在一个网站中可能会有很多功能,你需要把他们分类。这个时候需要用到app。每个app相当于一个功能组,角色。app可以分类功能,视图不会乱。

cd django01
python manage.py startapp openstack # 每个功能
python manage.py startapp cmdb
python manage.py startapp crm                                                                                                        

四、路由系统

每个功能要分给多个路由,路由对应一个视图,视图触发模板,模板显示在浏览器上。这就是路由系统,也是MTV模式。在Django中配置路由在urls.py里配置。

from django.contrib import admin
from django.urls import path
from openstack import views as os_views
from cmdb import views as cmdb_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('test01/', os_views.test01),
    path('test02/',cmdb_views.test02)
]

 按照流程,下一步就应该进入视图系统了,但在此之前,我们先仔细研究研究路由系统。当我们写视图的时候,可能会直接在URLS里加参数而不是在请求体里加参数。于是,这个时候用re_path做正则表达式是再合适不过的了。

from django.contrib import admin
from django.urls import path,re_path
from openstack import views as os_views
from cmdb import views as cmdb_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('test01/', os_views.test01),
    path('test02/',cmdb_views.test02),
    re_path('test03/(?P<name>\w+)/',os_views.test03), # 参数只允许写字符串
    re_path("test04/(?P<id>\d+)/",cmdb_views.test04), # 参数只允许写数字
]

 具体后台接受参数等讲视图系统的时候再讲。那么说个需求。我要改路由了!可以直接改路由会导致整个网站就崩了,你得一个个文件找你使用这个路由的地方,麻烦到了极致!于是,django为我们提供的反向查询就派上了用场。

from django.contrib import admin
from django.urls import path
from openstack import views as os_views
from cmdb import views as cmdb_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('test01/', os_views.test01, name="test01"),
    path('test02/',cmdb_views.test02, name="test02")
]

 具体反向查询的方法见视图系统。那么看看,上面,我为每个url做了一个key,你只要保证key不变,你的url改成什么都行!(但你得用反向查询)

五、视图系统

我盼啊盼,终于盼到了重点——视图系统!View系统就是控制Template的,其实基本功能非常简单。django视图你需要在app.views里面写。刚才,我们引用了openstack这个app里的test01视图和test03视图,引用了cmdb这个app里的test04和test02,此时,我们就要去研究这四个视图的写法。首先你需要清楚,test03和test04是有参数的!test01和test02没参数。

from django.shortcuts import HttpResponse

# Create your views here.

def test01(request):
    return HttpResponse("hello django")  

我在页面上写了一段字符串:hello django。那么你会问了,模板在哪儿?注意了,此处我是用的是HttpResponse,所以里面的文字就是一段模板字符串。待会儿,我们要用到模板文件。现在,你要把test02,test03,test04三个路由先注释一下,因为我们要先测试!但是,请注意!此处我需要在配置文件里找到INSTALLED_APPS,改一下......

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'cmdb',
    'openstack'
]

 这些代码声明了cmdb和openstack是这个项目的两个app。好了,测试吧......

python manage.py runserver 

 此时你启动了你的程序,访问页面......

 

真棒!此时,你已经可以完成基本的视图了,视图系统继续,见下一篇-->

 

posted @ 2019-07-12 16:14  等待唐僧的电脑人  阅读(76)  评论(0)    收藏  举报