前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 入门

Django 入门

原创
作者头像
HLee
修改2021-05-08 16:58:49
5750
修改2021-05-08 16:58:49
举报
文章被收录于专栏:房东的猫房东的猫

简介

Python 另一个 Web 开发框架 Django,它是一个基于 Python 定制的开源 Web 应用框架,最早源于一个在线新闻 Web 网站,后于2005年开源。Django 的功能大而全,它提供的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。它有很多功能强大的第三方插件,可以使我们更快速、方便的开发一个网站。

Django 框架

Django 采用了 MVC (即模型M,视图V和控制器C)构造的 Web 框架,但由于控制器接受用户输入的部分由框架自行处理,所以使用 Django 开发中里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV 模式。 Django 的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django 有许多功能强大的第三方“插件”,你甚至可以很方便的开发出自己的工具包,这使得 Django 具有很强的可扩展性。它还强调快速开发和 DRY(Do Not Repeat Yourself) 原则。

安装 Django 库

同其他模块一样,Django 的安装也非常简单,下面通过 pip3 包管理器来安装。

代码语言:javascript
复制
pip3 install django

安装 Django 之后就可以使用管理工具django-admin,可以用来创建项目,创建应用,启动服务等操作命令。

创建一个项目

项目是 Django 实例的一系列设置的集合,它包括数据库配置、Django 特定选项以及应用程序的特定设置。安装成功后,接下来我们开始创建一个新项目TestProject

代码语言:javascript
复制
$ django-admin startproject TestProject

$ cd TestProject
$.
 |____manage.py
 |____TestProject
 | |______init__.py
 | |____settings.py
 | |____urls.py
 | |____wsgi.py
 

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

启动开发服务器

创建完项目后,其实就已经构成了一个可运行的 Django 网站。Django 自带了一个简单的网络服务器,在开发过程中非常方便,所以我们无需安装任何其他软件即可在本地运行项目。在TestProject项目目录下输入如下命令启动服务器:

代码语言:javascript
复制
$ python3 manage.py runserver 127.0.0.1:8080

May 07, 2021 - 03:15:50
Django version 3.2, using settings 'TestProject.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.
[07/May/2021 03:15:56] "GET / HTTP/1.1" 200 10697
[07/May/2021 03:15:56] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[07/May/2021 03:15:56] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
[07/May/2021 03:15:56] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[07/May/2021 03:15:56] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876

如上所示服务启动完成。 django 开发服务是可用在开发期间的,一个内建的,轻量的web服务。它提供了一个在网站开发阶段时实监测你的代码修改并加载到它们,你能直接看到修改结果而不需要重启服务。

然后在浏览器输入服务器的IP及端口号(这里我们输入本机 IP 地址: 127.0.0.1:8080) ,如果正常启动。

配置开发服务器

Django 是一个支持国际化和本地化的框架,因此刚才我们看到的默认首页也是支持国际化的,我们将默认语言修改为中文,时区设置为东八区,配置如下:

代码语言:javascript
复制
$ vim TestProject/settings.py

# 设置语言代码
LANGUAGE_CODE = 'zh-hans'
# 设置时区
TIME_ZONE = 'Asia/Chongqing'

创建一个应用

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

你的应用可以存放在任何 Pythonpath 中定义的路径。在这个教程中,我们将在你的 manage.py 同级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite 的子模块。 请确定你现在处于 manage.py 所在的目录下,然后运行这行命令来创建一个应用:

代码语言:javascript
复制
$ python3 manage.py startapp polls

然后我们就可以编辑polls应用中的views.py视图,操作如下:

代码语言:javascript
复制
$ vim polls/views.py

from django.http import HttpResponse

def index(request):
    return HttpResponse("你好,这是一个投票页面。")

保存后退出,这样一个简单的视图就做好了,接下来需要给它加一个指向这个视图的路由。首先我们需要在polls应用下新建urls.py的文件,操作如下:

代码语言:javascript
复制
$ vim polls/urls.py

from django.urls import path
from . import views

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

保存后退出,然后还需要修改TestProject目录下的urls.py,增加polls的路由映射配置,如下:

代码语言:javascript
复制
$ vim TestProject/urls.py

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

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

函数 include() 允许引用其它URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到URLconf以供进一步处理。 Django设计 include()的理念是使其可以即插即用,当包括其它 URL 模式时你应该总是使用include()admin.site.urls是唯一例外。

保存后退出,然后我们再访问网址 http://localhost:8080/polls/, 就能访问到我们新创建的页面了,如下图:

总结

本文通过上面几步操作,就可以快速创建一个可访问的网站,是不是觉得用 Django 开发网站原来这么简单方便。Django还有模板,表单,路由,认证,基本的数据库管理等等内建功能,接下来将进一步的介绍 Django 的高级功能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • Django 框架
    • 安装 Django 库
    • 创建一个项目
      • 启动开发服务器
        • 配置开发服务器
        • 创建一个应用
        • 总结
        相关产品与服务
        命令行工具
        腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档