Django简易小教程

前言

这是一篇关于使用Django框架开发hello world小应用的教程,内容简单篇幅短,主要针对python以及web开发的初学者,但需要具备python基础语法知识。本人主要使用python3在windows10系统上开发。

Django介绍

django是一个python领域的web开发框架,主要用来写web应用程序。我们知道web程序使用http协议进行传输,本质上就是一些“文本字符串”在客户端和服务端之间来回发送传输,有请求也有回应,那么如果我们自己来从头写web程序显然是很麻烦的,需要针对客户端发来的请求自己去解析内容,根据相应的内容来做出不同的响应,最后把用户要的东西发给他(html文档),所以就可以使用一些前人写好的框架来进行开发,这样只需要书写自己程序的逻辑功能,而不需要关注很多底层的工作。

安装Django

django是一个第三方python库,所以使用之前需要进行安装,这里使用pip命令安装django2.2这个长期支持版本。

pip install django==2.2
复制代码

创建项目

安装好之后就可以来创建我们的web应用项目,这里项目名为HelloDjango.
打开我们的windows命令行cmd或者powershell,运行下面的命令.

cd  C:\Users\Derek\Desktop\
django-admin startproject HelloDjango
复制代码

注意第一条命令中derek需要替换成你电脑登录的用户名,意思是切换工作目录到桌面。
第二行,安装django会同时安装帮你安装一个命令行程序叫django-admin,利用它来创建我们的项目。
此时桌面上会出现一个文件夹叫HelloDjango,这就是我们的项目文件夹,双击打开它会看到里面还有一个HelloDjango文件夹,以及一个manage.py脚本,整个目录结构如下。

image.png

manage.py脚本是一个实用工具后面会用到,HelloDjango文件夹代表我们的项目本身,打开后会看到很多文件。

image.png

  • init.py:一个空文件,向 Python 告知此文件夹是 Python 包。
  • wsgi.py:供与 WSGI 兼容的 Web 服务器为项目提供服务的入口点。 通常将此文件原样保留,暂时不用管他。
  • settings.py:包含 Django 项目的设置,可以在开发 Web 应用的过程中进行修改。
  • urls.py:包含网页的路由,将输入的网址地址和具体的功能对应起来。

启动服务器来测试网站能否正常工作

需要在manage.py文件的同一层级启动服务,由于刚才我们的工作目录处于桌面,所以现在需要切换到项目文件夹HelloDjango内部,运行下面命令。

cd .\HelloDjango\
python .\manage.py runserver
复制代码

此时我们的服务器已经启动了,正常情况下会输出下面的文字。

image.png

注意关键信息是 Starting development server at http://127.0.0.1:8000/
127这个地址是我们计算机的本地地址,只有我们自己能够访问。
现在便可以将这个网址复制到浏览器上打开。如果看到下面的界面就说明一切OK了!

image.png

创建应用

现在可以暂时关闭浏览器窗口,并按照终端输出窗口中的指示使用 Ctrl+C 停止服务器。
一个Django项目可以包含多个应用模块,就像一个超市里面分为水果区域,饮料区域,零食区域一样。所以现在需要为我们的项目创建第一个应用,起名为main,主应用。

python manage.py startapp main
复制代码

这时我们的项目文件中多了一个main的文件夹,里面仍然包含了很多文件,和刚才的hellodjango差不多,经常会用到的有views.py (包含用于定义 Web 应用中的页面的函数)和 models.py(包含用于定义数据对象的类)。

image.png

创建功能函数

下面我们需要创建一个所谓的功能函数,意思是这个函数主要用来完成响应用户的任务,说白了就是给最终用户的浏览器上返回一些文字或者html文档内容,在我们这个场景下,即输出一个hello django字样到浏览器界面。这个主要需要编辑main/views.py文件。我这里使用vs code打开项目文件夹HelloDjango,再次展示下目前的文件结构。

image.png

好了,下面编辑main/views.py文件,敲入下面的代码。

from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django!")

复制代码

这里我们导入了一个HttpResponse的类,主要用来生成http响应对象,通俗理解就是生成了一个字符串,然后创建了一个home函数来表示网站的首页,功能是直接返回了一个包含有”Hello, Django!”字样的http响应对象。但是此时我们的网站还不能把hellodjango的字样返回到用户的浏览器,还需要在这个功能函数上绑定一个叫路由的东西。

绑定URL路由

第一步,在main文件夹下创建一个叫urls.py的文件,并且敲入以下代码。

from django.urls import path
from . import views

urlpatterns = [
    path("", views.home, name="home"),
]
复制代码

第二步,在hellodjango文件夹,也就是项目文件夹下也有一个urls.py文件,我们编辑它,敲入以下代码。

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path("", include("main.urls")),
]
复制代码

下面解释下,决定路由走向的urls.py文件一共有俩,一个在主项目下,一个在app下,用户浏览器输入http://127.0.0.1:8000/ 以后,首先到项目总路由的urls.py,这时代码include(“main.urls”)发挥作用,看到访问主页,也就是网址后面没有任何更深的路径,比如http://127.0.0.1:8000/home, 或者http://127.0.0.1:8000/derek/home/user 那么直接把请求转交给”main.urls”,也就是刚才应用里面的urls.py文件,然后到了main/urls.py这里了,代码path(“”, views.home, name=”home”)发挥作用,表示如果访问主页根目录,那么我就把view文件里面的home函数功能给到你,所以此时我们再次启动服务器,便可以看到之前定义的”Hello, Django!”字样,大功告成!

python .\manage.py runserver
复制代码

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享