Django2.1入门教程(一)django2.1的安装和使用

1、Django简介
Django是使用python语言开发的一套免费开源的后台web框架,主要为前端html提供后台数据支持,后台项目的运行需要依托于服务器,从而接收前端发送的请求,后台予以响应。
Django提供了一个测试服务器,是运行在本地电脑之上的。
2005年7月份发布,2008年发布第一个正式版本。(php:1991年已经出现了。)
Flask和Tornado框架,这两个框架定制性较高,70%的功能都需要自己实现。
Django:集成的功能比较丰富,许多功能只需要简单的配置就可以实现了。
2、安装django框架
pip install Django
3、创建项目
(1)创建项目
django-admin startproject 项目名称
(2)进入项目根目录
cd djangotest
(3)创建app
python manage.py startapp app名称
4、Django项目目录结构
在这里插入图片描述
第一块:关于项目配置的。目录名称和项目根目录重名。
settings.py:后台项目的配置文件。
urls.py :提供url地址供前端请求。
wsgi.py :用于部署后台项目到服务器上用的。
第二块:关于app应用的。
models.py :用来设置数据库字段的,类似于scrapy中的items.py
views.py :后台的主要逻辑就是在这个文件中,主要是给url绑定相应的数据处理函数,并返回响应对象。
admin.py :用于配置Django框架提供的一套管理页面的文件。
apps.py :主要是对app应用进行配置的文件。
第三块:manage.py
负责管理项目的命令行文件,项目的启动,数据库的生成,app的创建等。
5、项目和app的关系
类似于爬虫项目和spider之间的关系。一个后台项目可以管理多个应用,每一个应用分别对应着这个项目的不同模块。
例:一个项目分为:登录注册、商品信息、用户中心、购买这4个模块。在同一个项目中创建4个app应用分别对应这4个模块。
6、编写路由
路由都在urls文件里,它将浏览器输入的url映射到相应的业务处理逻辑。
在这里插入图片描述

from base import views
urlpatterns = [
    path('admin/', admin.site.urls),
    #一个url对应一个views.py中的函数。
    #path(url地址,绑定的函数)
    path('index/',views.index)
]

7、编写业务处理逻辑
业务处理逻辑都在views.py文件里。
在这里插入图片描述

# django框架在调用index的时候,会传递过来一个请求对象request赋值给这个形参。
def index(request):
    print(request)
    return HttpResponse('<h1>hello world</h1>')

通过上面两个步骤,我们将index这个url指向了views里的index()函数,它接收用户请求,并返回一个“hello world”字符串。
8、注册app应用
在settings.py文件中把我们刚才写的名为’base’的app进行注册。
在这里插入图片描述
9、运行web服务
进入到项目根目录,输入命令python manage.py runserver。会出现如下图所示,如图我们可以看到使用了本机的8000端口。
在这里插入图片描述
此时在浏览器中输入localhost:8000/index,会出现如下图所示的页面。
在这里插入图片描述
至此,一个最简单的django编写的web服务就启动成功了。

值得注意的是:
创建url规则
①第一种:path(url地址,绑定的函数)
path(‘index/’,views.index)
②第二种:re_path(url地址,绑定的视图函数)

from django.urls import path,re_path
#第二种:re_path(url地址,绑定的视图函数)
#django2.0之前的写法 url('^index$',views.hello),之前的正则表达式写法过于复杂,所以通过path()进行了简化。
#^:这个url以xx开头。
#$:这个url以xx结尾。
re_path(r'^one/$',views.index)

③如果项目中含有多个app,每个app需要设置的url也很多,此时将所有的url都写在同一个urls.py文件中就不行了,会让这个url看起来很乱,很多,不方便代码的调试。此时就需要将每个模块(app应用)放在每个模块的内部。
在这里插入图片描述
每个urls.py文件中写不同的模块的url。
在这里插入图片描述
由于urls.py这个文件是在创建项目时生成的,所以这个文件是所有url的总入口,不管url是在哪一个包中设置的,最终都要在这个总入口的urls.py文件中进行配置。

from django.urls import include
#base/这个地址映射的是base.urls中的urls.py这个文件
path('base/',include('base.urls')),
#base1/这个地址映射的是base1.urls中的urls.py这个文件
path('base1/',include('base1.urls')),
#base2/这个地址映射的是base2.urls中的urls.py这个文件
path('base2/',include('base2.urls')),

开始base的urls配置。

from django.urls import path,re_path
from . import views
#开始配置base这个app应用所对应的url地址。
urlpatterns = [
    path('index/',views.base_index),
    path('list/',views.base_list),
]

在这里插入图片描述
开始base的views配置。
在这里插入图片描述
开始访问,访问时先加上入口地址,再加上模块的具体地址。即127.0.0.1:8000/base/index/。访问前需先在项目的urls.py中注释没有使用的base1,base2的地址。
在这里插入图片描述
在这里插入图片描述
简言之,入口地址(可以省略)+模块地址=完整地址。

猜你喜欢

转载自blog.csdn.net/cf313995/article/details/83088336