Django简介及Django项目的创建详述
Django简介
Django是一个开源的Web应用框架,由Python写成。但是,百度百科中讲它采用了MVC框架模式,其实这个解释不准确。
确切的讲,Django的模式是:路由控制+MTV模式。所谓的路由控制其实就是采用URL分发器,将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template。而Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同。
Django的MTV分别是值:
1.M代表模型(Model):负责业务对象和数据库的关系映射(ORM)。
2.T 代表模板(Template):负责如何把页面展示给用户(html)。
3.V 代表视图(View):负责业务逻辑,并在适当时候调用Model和Template。
MTV的响应模式如下所示:

一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。
Django的下载与命令行模式下项目的创建
Django的下载
注意安装Django的前提是电脑里安装了Python环境与pip。另外在这里声明一下,本文是在windows环境下进行操作的。并且本文用到的Django版本是2.0.1。
Windows下安装Django的命令是:pip install django==2.0.1
Linux下安装命令为:pip3 install django==2.0.1
命令行模式下Django项目的创建
安装完成后,命令行进入我们要创建Django项目的文件夹,然后输入命令:python -m django startproject mysite这样我们第一个Django项目就创建好了。
我们可以看到,新建的项目的目录结构如下:

这里有一个manage.py文件,一个与我们项目名称相同的包,里面包含settings.py、urls.py、wsgi.py文件。wsgi文件是专门帮我们处理服务器端与客户端之间交互的,其他主要文件的功能说明如下:
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py ----- 负责把URL模式映射到应用程序。
接着,我们可以在这个项目下创建一个新的应用(这个应用可以是整个项目下的一个分功能):python manage.py startapp app01
最后就是启动这个Django项目了,我们在项目的目录下输入命令:python manage.py runserver 8080这样我们在访问http://127.0.0.1:8080/时就可以看到成功的页面
看到下面这个小火箭就证明你成功啦!

pycharm下Django项目的创建及一个简单的web程序示例
pycharm创建django项目
打开pycharm,点击File——New Project——项目选择Django——在弹出来的选项框中填好自己的项目目录与项目名称,然后在下面可以选择同时新建一个app的名称:

得到的程序的目录结构如下图所示:

这样得到的项目跟我们用命令行创建的一模一样。接下来我们就在这里创建一个简单的web应用吧。
一个简单的web程序示例
首先,需要注意的一点是:在windows下需要修改一下settings.py里面的TEMPLATES列表里的内容才可以!修改的是:'DIRS': [os.path.join(BASE_DIR, "templates")],原来的DIRS对应一个空列表,这里将项目的templates文件夹的目录放在了列表里。修改后的TEMPLATES列表的内容如下:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, "templates")],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
在全局的urls.py文件中:
from django.contrib import admin
from django.urls import path
from whw import views
urlpatterns = [
path('admin/',admin.site.urls),
path('index/',views.index),
]
whw的视图views.py文件中:
from diango.shortcuts import render
#create your views here
#这个函数必须要带一个形参request
def index(request):
import datetime
now = datetime.datetime.now()
ctime = now.strftime('%Y-%m-%d %X')
#注意这里必须得return 而且第一个参数必须是request
return reder(request,'index.html',{'ctime':ctime})
我们在项目下再创建一个名为templates的包,注意名字必须命名为templates,里面新加一个index.html文件,这个文件中的内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h4>当前时间:{{ ctime }}</h4>
</body>
</html>
注意这里的.html文件中运用到了模板语言,它不在是传统的html文件了,而是一个模板文件。
最后运行这个程序,我们在浏览器中输入http://127.0.0.1:8000/index即可看到当前时间显示在了网页中。
Django简介及Django项目的创建详述的更多相关文章
- Django的下载与项目的创建
一.Django的下载安装 Django官网下载页面 二.DOS窗口下的django项目从创建和启动 1. DOS窗口下载Django pip3 install django==1.11.9 2.DO ...
- Django之web应用、http协议和django简介
等了好久终于等到今天,盼了好久终于把梦实现,啦啦啦.....学习python两个多月了,终于等到python的高潮,老师说要是把Django学会了,python的web开发就差不多了,也相当于迎来了p ...
- Django之Django简介,开发环境搭建,项目应用创建
软件及Django框架简介 软件框架 一个软件框架是由其中各个软件模块组成的: 每一个模块都有特定的功能: 模块与模块之间通过相互配合来完成软件的开发. 软件框架是针对某一类软件设计问题而产生的. M ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...
- 1.django项目的创建(在CMD中)
django项目的创建(在CMD中) 1.切换到你想要存储项目的位置,我这里保存在桌面上 cd Desktop 2.创建一个django项目,项目名叫guest django-admin startp ...
- Django项目的创建及基本使用
安装步骤 Django是Python进行Web开发的框架,目前应用比较广泛.使用python进行Web开发,能够很快的搭建所需的项目,可以运用于原型开发,也可以部署到实际的应用环境. 使用Django ...
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- Django项目的创建和设计模式
1.安装django pip install django 2.创建项目 进入到项目文件夹的根目录下 django-admin startproject <project_name ...
随机推荐
- url中携带中文乱码问题
1.问题描述 在项目中碰见url中经常传递中文参数时,容易出现乱码问题,现在就这个问题产生原因和解决的措施大概分析一下,希望过路人和我能引以为戒. 2.问题分析 由于我们利用URL传递参数这种方式是依 ...
- javaweb防止表单重复提交
参考孤傲苍狼 https://www.cnblogs.com/xdp-gacl/p/3859416.html 场景一:在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 场景二:表 ...
- 【git】一台机器上使用不同的git账号
1.生成一个新的自定义名称的公钥: ssh-keygen -t rsa -C "shangxiaofei3@163.com" -f ~/.ssh/sxfself 一直点击回车 执行 ...
- Understanding how uid and gid work in Docker containers
转自:https://medium.com/@mccode/understanding-how-uid-and-gid-work-in-docker-containers-c37a01d01cf Un ...
- gaia 开源多语言的pipeline 平台
gaia 是一个支持goalng.java.c++.python,nodejs (还在开发中)的pipeline 平台,我们可以方便的进行pipeline构建的 添加,同时也可以做为sdk 在我们的项 ...
- 目前支持WebGL的浏览器有哪些?
Google Chrome 9+ Mozilla Firefox 4+ Safari 5.1+(仅限于Mac OS X操作系统,不包括Windows) Opera 12 alpha及以上版本 IE9+ ...
- 微信小程序 学习资料
微信小程序 学习资料 资料名称 网址 官方教程 https://developers.weixin.qq.com/miniprogram/dev/index.html?t=18110517
- vue监听路由变化
使用 watch,观察路由,一旦发生变化便重新获取数据 watch: { // 如果路由有变化,会再次执行该方法 '$route': 'fetchData' }
- web 对接 platform
一个项目拆成web和platform,web不对接数据库,只调用各个platform,每个平台负责出一个httpclient的client-jar包,封装好curd方法给web端调用,入参和出参用ja ...
- unicodedata.normalize()/使用strip()、rstrip()和lstrip()/encode和decode 笔记(具体可看 《Python Cookbook》3rd Edition 2.9~2.11)
unicodedata.normalize()清理字符串 # normalize()的第一个参数指定字符串标准化的方式,分别有NFD/NFC >>> s1 = 'Spicy Jala ...