Django学习笔记一初识Django

Django学习笔记一初识DjangoDjango学习笔记,入门Django框架

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1 Django简介

1.1 基本介绍

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。开发者使用Django,只要很少的代码,就可以轻松完成一个网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 。Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

MVC 优势:

  • 低耦合
  • 开发快捷
  • 部署方便
  • 可重用性高
  • 维护成本低

Python 加 Django 是快速开发、设计、部署网站的最佳组合。

1.2 开发框架模型

1.2.1 简介

目前的开发框架模型可以按是否前后端分离来划分。其中各自特点如下:

前后端不分离特点:

  • 后端需控制数据的展示
  • 前后端不分家,耦合严重
  • 返回的是HTML页面,适应性、拓展性差
    • 只能用于浏览器,其它终端不匹配

前后端分离的特点:

  • 当前主流
  • 后端只对数据进行处理,只提供数据
  • 前端效率、页面好不好看,全由前端负责,前后端完全独立
  • 解耦合
  • 前后端同时开发,缩小业务上线周期
  • 绝大多数情况下,前端发送json格式的参数,后端同样以json格式的数据返回
    • 适应性、拓展性好
    • 适合多终端运行同一套接口(PC、APP、小程序等)

在本文中,对前后端不分离的开发框架模型这里不作叙述,这里主要介绍前后端分离的MVC模型和MVT模型。

1.2.2 MVC模型

  • 体现:Java常用MVC模式,比如SpringMVC。
  • MVC各部分的解释
    • M/Model(模型):主要封装对数据层的操作,对数据库的数据进行增删改查操作。
    • V/View(视图):用于封装结果的,然后生成用于展示html。
    • C/Controller(控制器):用于接收请求,然后处理业务逻辑,并返回结果。它处于Model和View之间,与两者交互。
  • 图解
    在这里插入图片描述

1.2.3 MVT模型

  • 体现:Python中的Django框架就是MVT

  • MVT各部分的解释

    • M/Model(模型):与MVC的M功能相同,主要封装对数据层的操作,对数据库的数据进行增删改查操作。
    • V/View(视图):与MVC的C功能相同,接收请求,逻辑处理,返回结果。
    • T/Template(模板):和MVC中的V功能相同,负责封装和生成要返回的html。
  • 图解

    MVT模型

2 Django安装

如果你还未安装Python环境需要先下载Python安装包。注意:目前的 Django 1.6.x 以上版本已经完全兼容 Python 3.x。

使用pip3 install Django==版本号 -i https://pypi.tuna.tsinghua.edu.cn/simple即可安装Django,注意使用镜像源下载,不然下载速度会很慢。

检查是否安装成功:

image-20220305175927603

3 Django项目框架—创建第一个项目

3.1 Django管理工具

安装好Django之后,我们现在就有了可用的管理工具django-admin,这个其实就是一个py文件,代码如下:

from django.core import management
 
if __name__ == "__main__":
    management.execute_from_command_line()

django-admin.py调用django.core.management来执行命令,这个函数会根据命令行参数解析出命令的名称,根据命令的名称来调用相应的Command执行命令。

3.2 创建第一个项目

使用django-admin来创建HelloWorld项目:

django-admin startproject HelloWorld

创建完成后,我们可以查看HelloWorld的目录结构如下:

image-20220305191934585目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

我们进入HelloWorld目录后输入以下命令启动服务器:

python3 manage.py runserver 0.0.0.0:8000

其中0.0.0.0是为了让其他电脑能连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000,但建议指明端口号。

在浏览器输入我们的ip地址(如果是云服务器,则输入公网地址,如果是本机,则可以输入本机地址:127.0.0.1)。这里特别说明,若是云服务器,我们必须在控制台开放8000端口号和80端口号,要不然访问不了。如果没有将IP地址添加到ALLOWED_HOSTS,则会出现如图错误:

Django学习笔记一初识Django

我们需要将IP地址添加到settings.py中的ALLOWED_HOSTS中。再次访问出现如下界面,此为Django的默认界面:

3.3 视图和URL配置

在先前创建的HelloWorld目录下的HelloWorld目录新建一个views.py,并输入代码:

from django.http import HttpResponse
 
def hello(request):
    return HttpResponse("Hello world ! ")

接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:

from django.urls import path
 
from .views import hello
 
urlpatterns = [
    path('', hello),
]

完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问:

Django学习笔记一初识Django我们可以修改path,例如改为path('/hello', hello),那么url即为:http://127.0.0.1/hello。这个path函数可以接收四个参数,分别是两个必选参数:routeview和两个可选参数:kwargsname。语法格式如下:

path(route, view, kwargs=None, name=None)

  • route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。
  • view: 用于执行与正则表达式匹配的 URL 请求。
  • kwargs: 视图使用的字典类型的参数。
  • name: 用来反向获取 URL。

注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188694.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Web前端性能优化——如何提高页面加载速度

    Web前端性能优化——如何提高页面加载速度

    2021年10月14日
    36
  • 浏览器编译代码_ie浏览器html编辑器

    浏览器编译代码_ie浏览器html编辑器20个最强的基于浏览器的在线代码编辑器1.CompilrCompilr是一个在线编译器和在线IDE。可以用它来开发PHP,C,C++,Ruby。在浏览器中编译Java,C#和VB.net等。马上使用2.Dabblet跨浏览器兼容,对前端攻城师们来说是一个不得不处理的问题。为了在浏览器间呈现统一的显示效果,攻城师们不仅要为每个游览器添加CSS前缀,甚至还…

    2022年8月14日
    4
  • 使用VLC搭建视频直播服务器[通俗易懂]

    使用VLC搭建视频直播服务器[通俗易懂]去年我们信息之夜我们进行过视频直播服务,当时我们使用了WMS(WindowsMediaServer)实现了这个服务,但是编码是微软的WMV,因而像iPhone/Android这样的智能手机无法观看,今天我给大家带来一种更简便的实现方式,并帮助所有平台用户都可以观看。首先介绍一下,今天我们的工具VLCPlayer。VLC主页:http://www.videolan.org VLC

    2022年6月4日
    40
  • 罗技craft键盘使用方法_罗技g105键盘说明书

    罗技craft键盘使用方法_罗技g105键盘说明书引言:本文旨在为大家(程序员)快速入门罗技craft键盘,因为网上关于craft的测评缺乏深度,根本触及不到我的灵魂深处1.开箱咋样,是不是帅的雅痞?2.入门刚回来的几个小时,由满怀喜悦,到笑容逐渐凝固,再到内心毫无波澜,到最后奔溃后狂按键盘想退货。说起来,均是处于自己的无知。【因为此货用了京东白条六期】2.1软件下载记住了,安装完之后打开软件,千万千万别更新,别更新,别更新。——点击跳过就好了。因为有master2S,所以用的之前的安装包。官网下载是很慢的,差不多1个小时?推荐

    2022年10月15日
    3
  • uname命令详解_uname -r

    uname命令详解_uname -r博客搬家,原地址:https://langzi989.github.io/2018/12/25/uname命令说明/使用uname命令可以帮助我们了解当前使用的系统的硬件信息,内核信息,处理器信息和当前使用的系统信息等。该命令可以在Fedora,Debian,CentOS,SUSELinux或者其他Linux操作系统的发行版本上运行。uname命令的使用方法在网络上已经有很多,甚…

    2025年8月13日
    4
  • windows cd到指定文件夹_windows命令行进入指定目录

    windows cd到指定文件夹_windows命令行进入指定目录C:\Users\Administrator>cd/dD:\wikicd/d

    2022年10月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号