Django的模式就是MTV
M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
T 代表模板 (Template):负责如何把页面展示给用户(html)。
V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template
一、创建步骤
1.创建一个django项目
在终端输入: django-admin startproject mysite 创建了一个名为"mysite"的Django 项目
创建成功后,目录会生成mysite的工程,目录如下:
创建的项目文件介绍
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库,启动关闭项目与项目交互等,不管你将框架分了几个文件,必然有一个启动文件,其实他们本身就是一个文件。
settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py ----- 负责把URL模式映射到应用程序。
wsgi.py ---- runserver命令就使用wsgiref模块做简单的web server,后面会看到renserver命令,所有与socket相关的内容都在这个文件里面了,目前不需要关注它。
2.运行django项目
先进入你创建的项目: cd mysite
终端输入: python manage.py runserver 127.0.0.1:8080
#此时已经可以启动django项目了,只不过什么逻辑也没有呢
通过指令运行项目的时候,可以不写ip地址、端口
如果不写,默认是127.0.0.1
python manage.py runserver 8080
如果连端口都不写,默认是8000端口
python manage.py runserver
运行成功后的网页,如图:
停止项目:ctrl+c
3.在mysite文件夹下创建app应用
会发现,上面没有view视图函数的文件等等,这些文件可以理解为应用,一个项目可以有多个应用,比如微信,就有支付应用、聊天应用、小程序、朋友圈等等…每个应用都应该有自己的逻辑内容,需要自己去单独创建应用
终端运行: python manage.py startapp app01
#通过执行manage.py文件来创建应用,注意:应该在这个manage.py的文件所在目录下执行这句话,因为其他目录里面没有这个文件
终端执行命令后,除了之前有的manage.py和mysite文件夹,又新生成了一个新的文件夹app01,文件夹内容如下:
4.在mysite文件夹下创建app应用
- 在settings.py文件中找到INSTALLED_APPS
- 修改成以下方式,将下面的拷贝粘贴
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#以下两种方式都可以
'app01.apps.App01Config'
#'app01',
]
二、基于上面,接着做一个登录的页面的web项目
4.我们做一个登录的页面的web项目,浏览器输入一个网址就能得到这个登录的web页面
-
先找urls.py,将里面的内容替换成下面的
from django.urls import re_path as url from django.contrib import admin from app01 import views # 引入视图的函数的文件 urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^index/', views.index), # 模仿写出路由的配置 # 配置路径,r'^/index/',这个前置导航斜杠不需要添加. # 正则,可以让路径不用写死,index/dsad/qweq/fdsf/...也能匹配到 ]
-
再找到views.py(俗称:视图文件)
from django.shortcuts import render # Create your views here. def index(request):# request是一个形参,接受所有请求的内容 return render(request,'login.html')
-
写模板 templates,在这里创建html文件
-
在第一个mysite文件夹下创建templates文件夹
-
在里面创建一个叫 login.html 的文件,如图:
-
login.html 里面编写
<h1>欢迎来到登录页面</h1> <form action=""> 用户名:<input type="text" name="username"> 密 码:<input type="text" name="password"> <input type="submit"> </form>
-
-
找到settings.py文件
1)文件开头添加一行代码#文件开头添加一行代码 import os
2)找到TEMPLATES 中有一项 ‘DIRS’
将 [ ] 修改为 [os.path.join(BASE_DIR, 'templates')]
-
运行项目
python manage.py runserver 127.0.0.1:8080
在网页输入:http://127.0.0.1:8080/index/
成功结果如图: