从零开始搭建Python web框架——Django(一)

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:19   1670   0

Django是python下一个开源的、mvc模式的web应用框架,我们都知道,python版本不向下兼容,下表为Django版本与python版本的对应关系:

Django versionPython versions
1.82.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5
1.9, 1.102.7, 3.4, 3.5
1.112.7, 3.4, 3.5, 3.6
2.03.4, 3.5, 3.6
2.13.5, 3.6, 3.7

下面我将介绍如何从零使用Django构建一个web应用。

步骤↓

  1. 安装python环境(此处不介绍),笔者安装的2.7版本。
  2. 下载Django源码,链接:https://www.djangoproject.com/download/ ,此处下载的1.11.10版本。解压->进入文件夹->执行python setup.py install安装。(安装成功后 Django 位于 Python 安装目录的 site-packages 目录下),若是linux环境,执行如下命令:
    tar xzvf Django-1.11.10.tar.gz
    cd Django-1.11.10
    python setup.py install
  3. 验证:
    C:\Users\du>python
    Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on wi
    n32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import django
    >>> django.get_version()
    '1.11.10'
    >>>
    
    以上说明安装成功。
  4. 将python安装目录的script目录加入环境变量,如:D:\Program Files\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\Scripts
  5. 构建一个项目:进入想要存放项目的路径,执行如下命令:
    django-admin.py startproject HelloWorld
    可以看到在当前目录下,项目已经生成。
    #若是windows环境
    django-admin startproject HelloWorld
  6. 启动web服务:进入项目HelloWorld根目录,执行:
    python manage.py runserver
    显示信息:
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    服务启动成功,打开浏览器访问http://127.0.0.1:8000/,成功进入Django主页面。

到此一个Django项目就搭建完成了,目录结构如下:

|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

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

以下命令可以启动服务:

python manage.py runserver 0.0.0.0:8000

下面将介绍如何使用Django框架开发自己的web应用↓

  1. HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:
    from django.http import HttpResponse
     
    def hello(request):
        return HttpResponse("Hello world ! ")
  2. 绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:
    from django.conf.urls import url
     
    from . import view
     
    urlpatterns = [
        url(r'^$', view.hello),
    ]
    现在目录结构如下:
    |-- HelloWorld
    |   |-- __init__.py
    |   |-- __init__.pyc
    |   |-- settings.py
    |   |-- settings.pyc
    |   |-- urls.py              # url 配置
    |   |-- urls.pyc
    |   |-- view.py              # 添加的视图文件
    |   |-- view.pyc             # 编译后的视图文件
    |   |-- wsgi.py
    |   `-- wsgi.pyc
    `-- manage.py
  3. 浏览器访问http://127.0.0.1:8000/,即可看到打印出的Hello world !
  4. 修改urls.py:
    from django.conf.urls import url
     
    from . import view
     
    urlpatterns = [
        url(r'^hello$', view.hello),
    ]
    此时浏览器打开 http://127.0.0.1:8000/hello,即可看到打印出的Hello world !
url() 函数
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
  • regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view: 用于执行与正则表达式匹配的 URL 请求。
  • kwargs: 视图使用的字典类型的参数。
  • name: 用来反向获取 URL。

本章先写到这!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP