django之一--简单的认识从hello world!开始

1、简介

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。

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

MVC优势:

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

Django 版本对应的 Python 版本:

2、用户操作流程图

解析:

用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:

  • a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。
  • b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。

视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

3、环境和工具准备

3.1 python(版本3.7.2)

3.2.django (版本:3.1.2)

如果使用该命令行,表示下载最新的django版本: 【pip install django】;

如果使用该命令行,表示下载指定的django版本:【pip install django==3.0】;

django的环境安装非常简单,只需用pip安装一个django库就可以了,编辑器选择pycharm。

(python3.7) leiyuxingdeMacBook-Pro-2:helloworld leiyuxing$ python

Python 3.7.4 (default, Jul  9 2019, 18:13:23) 

[Clang 10.0.1 (clang-1001.0.46.4)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

使用命令行【pip show django】,可以查看当前安装的django信息,信息里有包含django版本号;

3.3 新建项目

通过dos操作界面,在该父级目录下,通过命令行【django-admin startproject 一个新的django项目名】新建一个django project(即一个django项目实例需要的设置项集合:包括数据库配置、django配置和应用程序配置等等。)

在这里,通过命令行【django-admin startproject helloworld】新建一个django项目名为【helloworld】的django项目。

入下是【helloworld】被创建成功后生成的初始文件夹和文件

  • 【helloworld】                  : django项目的容器,可以随便命名。
  • 【helloworld/helloworld】 :django项目名,不能更改名称。
  • 【helloworld/__init__.py】:一个空文件,告诉 python这个目录应该被认为是一个python包。
  • 【helloworld/asgi.py】      : django3.0版本新出的异步功能。
  • 【helloworld/settings.py】:django项目的配置文件。
  • 【helloworld/urls.py】       :django项目的URL声明,就像你个人网站的“目录”。
  • 【helloworld/wsgi.py】     : 作为你的django项目运行在 WSGI 兼容的Web服务器上的入口。
  • 【manage.py】                 : 一个让你用各种方式管理django项目的命令行工具。

4、启动服务

在pycharm界面里的【Terminal】终端里执行命令行

在该目录路径下执行以下命令行: 【python manage.py runserver】。

执行成功后,只要看到这句【Starting development server at http://127.0.0.1:8000/】就表示django项目【helloworld】的服务启动成功;

接着,复制地址【http://127.0.0.1:8000/】在任意一个浏览器打开:

django服务默认在8000端口启动服务,如果想换个端口启动服务,比如要换成在8080端口启动服务,可以输入以下命令行:【python manage.py runserver 8080】。

如果一个公司局域网的另外一台同事A的电脑也需要能访问该django项目【helloworld】首页地址,可以执行该命令行【python manage.py runserver 0.0.0.0:端口号(端口号默认填8000即可,也可以填其他任意一个合适的端口号比如8080)】监听公司局域网里的所有ip。

假设我目前开启的端口号是8080,同事A用自己电脑访问该django项目【helloworld】首页地址,输入【http://:我电脑的个人ip:8080/】,比如输入【http://192.1.1.3:8080/】就能访问到我电脑的这个django项目【helloworld】首页(已跟同事A配合测试通过)。

由于ip访问可能存在权限控制报错:

开启所有访问权限:

如果要pycharm自带的快速启动django项目【helloworld】服务的功能按钮能实现按指定的【IP+端口】的服务,可以进行这样的配置并保存,保存后点击该页面右上角按钮【helloworld】就能快速启动服务了!

5、视图和URL配置

第一步:在先前创建的【helloworld/helloworld】目录新建一个 view.py 文件,并输入相关代码。

from django.http import HttpResponse

# index函数是视图函数

def index(request):

    return HttpResponse("Hello world ! lucas的django项目首页 !")

第二步:绑定URL与视图函数。

首先,在先前创建的【helloworld/helloworld】目录下,打开已存在的 urls.py 文件,注释掉原来所有已存在的代码,并重新输入这些新代码。

URL函数简单解析

url() 函数可以接收四个参数,分别是两个必选参数:regex、view,和两个可选参数:kwargs、name。

def url(regex, view, kwargs=None, name=None):

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

接着,重新在任一浏览器上访问【http://0.0.0.0:8080/】,能成功访问新的首页内容。

猜你喜欢

转载自blog.csdn.net/LYX_WIN/article/details/113877582