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
此时你启动了你的程序,访问页面......

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

浙公网安备 33010602011771号