Django 系列官方教程[1]Requests and responses

文章系官方教程,该章节将引导初学者建立第一个app。

本文使用ubuntu 20.04、python3.9、django4.0.4、anaconda2.1.4为环境

一、查看版本号

打开控制台ctrl+alt+T,查看版本号

python -m django --version

python3 -m django -version

这里显示版本为4.0.4,如有问题请自行配置环境。

二、创建项目

这里建立一个网站,起名为mysite。

django-admin startproject mysite

进入该目录,查看结构

cd mysite
tree

结构如下:

.
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

manage.py :一个命令行实用程序,可以让您以各种方式与这个Django项目交互。

mysite目录:是项目的容器。它的名字对Django并不重要;你可以把它改名为任何你喜欢的名字。

asgi.py :与ASGI兼容的web服务器为您的项目提供服务的入口点。

__init__.py :一个空文件,告诉Python这个目录应该被视为一个Python包。如果您是Python初学者,请阅读官方Python文档中关于包的更多信息。

settings.py:此Django项目的配置。

urls.py:这个Django项目的URL声明;Django网站的“目录”。

wsgi.py :与WSGI兼容的web服务器为您的项目提供服务的入口点。

三、创建服务器

现在我们来验证一下我们的Django项目是否有效。

切换到mysite目录,并运行以下命令:

python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
April 30, 2022 - 08:36:28
Django version 4.0.4, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

目前还有错误,我们会一一解决这些问题。

现在访问127.0.0.1:8000,我们可以看到恭喜安装Django安装成功的标志

我们也可以使用

$ python manage.py runserver 0.0.0.0:8000

启动,从而让其他人一起加入我们的这个项目。

该脚本会自动检测我们代码中的变化进行动态更新,所以更新代码后无需重启该服务。

四、创建app

现在我们建好了一个项目,可以开始建app了。

项目和应用程序之间的区别是,应用程序是完成一项工作的web应用程序,例如博客系统、公共记录数据库或小型民意调查应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以位于多个项目中。

应用程序可以在Python路径上的任何地方运行。在本教程中,我们将在与manage相同的目录中创建应用程序,以便将其作为自己的顶级模块导入,而不是作为mysite的子模块导入。

首先,我们需要回到和manage.py这一级的目录,然后键入指令:

python manage.py startapp polls

结构如下:

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

五、建立第一个界面

现在打开文件polls/views.py,把代码全部替换为:

from django.http import HttpResponse


def index(request):
    return HttpResponse("大家好,这是投票小程序的界面")

这是Django里最小的程序,现在我们把它部署到url中。

现在在views.py这一级目录中新建文件urls.py,填入代码:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

现在我们需要将根链接指向投票小程序

此时,在mysite/urls.py中需要导入django.urls.include。

urlpatterns 清单中添加include().结果如下:

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

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

admin.site.urls外,建议全部使用include()来添加程序。

现在我们可以回到首页来验证是否添加成功。如果前面关闭了终端控制器请重新打开:

python manage.py runserver

打开浏览器,输入http://localhost:8000/polls/,注意不是http://localhost:8000/

path()函数传递了四个参数,两个是必需的:route和view,两个是可选的:kwargs和name。

route是字符串型的链接,处理request请求时,会逐级匹配,且不搜索GET和POST请求,也不搜索域名,如https://www.example.com/myapp/会直接搜索myapp/,https://www.example.com/myapp/?page=3,也会直接搜索myapp/

view。当Django匹配成功后,会调用视图函数,将HttpRequest对象作为第一个参数,并将路由中的任何“捕获”的值作为关键字参数。后面我们会给出案例。

kwargs可以在字典中将任意关键字参数传递给目标视图。在本教程中,我们不打算使用Django的这个特性。

name:命名可以让您从Django中的其他地方明确地引用它,尤其是从模板中。这个强大的功能允许我们用一行简单的指令对项目的URL进行全局更改。


那么我们已经熟悉了基本的请求和响应流,本教程的第2部分会开始使用数据库。

恭喜大家已经向成功迈出了一小步。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值