掌握Django(一)

使用Python语言开发WEB应用最流行的框架是Django。本系列将逐步创建一个Django项目 storefront,基本涵盖Django的各种知识点。

当用户请求WEB服务器时,有两种返回方式:

  1. 返回生成的html页面,这是传统的方式。
  2. 返回数据,而页面由前端产生,比如React,VUE或小程序等。这才是现代的开发方式。

本系列使用Django开发Web应用采用的就是第2种现代的开发方式,前端代码基本不涉及,尽管Django也支持前端代码的生成,但对于现代开发而言,已不太推荐了。

题外话,前端的React系列已有计划开设,有兴趣的朋友可以持续关注。


设置开发环境

安装最新版python,安装vscode并安装python插件。

一般建议使用pipenv安装。首先安装好pipenv:

pip3 install pipenv

python开发环境的设置,在《完全掌握Pyhon》系列中已有介绍,这里不再重复。


建立第一个Django项目

mkdir storefront

cd storefront

pipenv install django

这条命令用于建立Django虚拟环境

pipenv shell,激活虚拟系统

django-admin startproject storefront .

创建storefront的django项目,注意当前目录 . 不能省,否则可能会多生成一个目录代表项目文件夹,这样文件夹会有些重复。

启动web应用:

python manage.py runserver 8000

可以省略端口8000,默认就是8000,也可以设其他端口。

这样将打开http://127.0.0.1:8000

确认页面正常,表示django项目已创建成功。


创建第一个应用

python manage.py startapp playgroud

创建playgroud应用,每个应用自动创建一个文件夹。

结构类似,有admin.py,apps.py,models.py,views.py等等。

在项目文件夹 storefront下的settings.py注册该应用:

INSTALLED_APPS = [

‘playgroud’,

]


编写视图

在应用playgroud文件夹下的 views.py键入:

from django.http import HttpResponse

def say_hello(request):

    return HttpResponse(‘Hello World!’)


映射URLs和Views

增加playgroud下的urls.py:

from django.urls import path

from . import views

urlpatterns = [

    path(‘hello/’, views.say_hello),

]

再在主urls,storefront–>urls.py中添加:

urlpatterns = [

    …

    path(‘playgroud/’, include(‘playgroud.urls’)),

]

再访问 http://127.0.0.1:8000/playgroud/hello

就能看到 Hello World 字样了。


使用模板

playgroud下新建文件夹templates,再在其下新建文件hello.html,

修改playgroud–>views.py的say_hello():

def say_hello(request):

    return render(request,’hello.html’,{‘name’:’kelemi’})

再编辑hello.html:

{% if name %}

<h1>Hello {{ name }}</h1>

{% else %}

<h1>Hello world</h1>

{% endif %}

说明:

{%%}内可以有逻辑,比如if else 等;

{{}} 内放置表达式。

再访问 http://127.0.0.1:8000/playgroud/hello,可以看到模板的name由kelemi代替了。显示H1字体的“Hello kelemi”


在VSCODE中调试Django

点击左侧这个调试按钮,创建launch.json文件,选择Django,然后可以设置断点,调试,查看变量值等调试工作了。

Shift + F5,可以不用进入Debug调试。


使用Django调试工具

谷歌搜索 django debug toolbar,找到这个网址可以查看说明:

https://django-debug-toolbar.readthedocs.io/en/latest/

安装下:

pipenv  install django-debug-toolbar

再做以下操作:

  • 再用 command+p 查找settings.py, 在INSTALLED_APPS这节添加debug_toolbar应用。
  • 主urls.py中,添加url映射import debug_toolbarpath(‘__debug__’,include(debug_toolbar.urls)),
  • 添加中间件,中间件类似一个钩子,截取django的请求响应并作处理。也在settings.py中,找找MIDDLEWARE这一节,添加:’debug_toolbar.middleware.DebugToolbarMiddleware’,
  • 配置settings.py的Internal IPS这一节中,添加

    INTERNAL_IPS=[

        # …

        ‘127.0.0.1’,

        # …

    ]

最后,需要将hello.html用html和body包起来。

<html><body>

</body></html>

刷新一下,就能看到调试工具栏了。


小结

本节介绍django的基本开发流程以及环境搭建。下一节开始将逐步开始项目的构建。

发表评论

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