记录工作和生活点点滴滴

python3.7 web开发系列:创建投票应用(四)

概述

现在你的开发环境——这个“项目” ——已经配置好了,你可以开始干活了。

在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。

项目 VS 应用
项目和应用有啥区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者简单的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

创建投票

你的应用可以存放在任何 Python path 中定义的路径。在这个教程中,我们将在你的 manage.py 同级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 Devweb 的子模块。

  1. 请确定你现在处于 manage.py 所在的目录下,然后运行这行命令来创建一个应用

    # python3.7 manage.py startapp polls

    这将会创建一个 polls 目录

    file
    这个目录结构包括了投票应用的全部内容。

    编写第一个视图

  2. 让我们开始编写第一个视图吧。打开 polls/views.py,把下面这些 Python 代码输入进去:
    from django.http import HttpResponse
    def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
  3. 这是 Django 中最简单的视图。如果想看见效果,我们需要将一个 URL 映射到它——这就是我们需要 URLconf 的原因了。

    为了创建 URLconf,请在 polls 目录里新建一个 urls.py 文件。你的应用目录现在看起来应该是这样:

    file
    在 polls/urls.py 中,输入如下代码:

    from django.urls import path
    from . import views
    urlpatterns = [
    path('', views.index, name='index'),
    ]
  4. 下一步是要在 URLconf 文件中指定我们创建的 polls.urls 模块。在 Devweb/Devweb/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:
    from django.contrib import admin
    from django.urls import include, path
    urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
    ]

    注意:有些教程里,是在Devweb/根目录下创建urls.py,实际测试发现不需要,直接在Devweb/Devweb/urls.py里复制上面代码即可。

函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。

我们设计 include() 的理念是使其可以即插即用。因为投票应用有它自己的 URLconf( polls/urls.py ),他们能够被放在 "/polls/""/fun_polls/" "/content/polls/",或者其他任何路径下,这个应用都能够正常工作。

何时使用 include()
当包括其它 URL 模式时你应该总是使用 include() , admin.site.urls 是唯一例外。

验证

  1. 你现在把 index 视图添加进了 URLconf。通过以下命令验证是否正常工作:
    #python3.7 manage.py runserver 0.0.0.0:8000

file

未经允许不得转载:许春刚技术博客 » python3.7 web开发系列:创建投票应用(四)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址