我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Django开发常用5个软件包是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Django开发常用5个软件包是什么

这篇文章主要介绍了Django开发常用5个软件包是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用。

Django开发常用5个软件包是什么

建立 Django 网站的最佳方式:

建立一个新项目或应用总是有些痛苦。你可以用 Django 内建的

startproject

不过,如果你像我们一样,对如何做事比较挑剔。Cookiecutter 为你提供了一个快捷简单的方式来构建项目或易于重用的应用模板,从而解决了这个问题。一个简单的例子:键入

pip install cookiecutter

,然后在命令行中运行以下命令:

$ cookiecutter https://github.com/marcofucci/cookiecutter-simple-django

接下来你需要回答几个简单的问题,比如你的项目名称、目录、作者名字、E-Mail 和其他几个关于配置的小问题。这些能够帮你补充项目相关的细节。我们使用最最原始的 “foo” 作为我们的目录名称。所以 cokkiecutter 在子目录 “foo” 下建立了一个简单的 Django 项目。

如果你在 “foo” 项目中闲逛,你会看见你刚刚选择的其它设置已通过模板,连同所需的子目录一同嵌入到文件当中。这个“模板”在我们刚刚在执行

cookiecutter

命令时输入的唯一一个参数 Github 仓库 URL 中定义。这个样例工程使用了一个 Github 远程仓库作为模板;不过你也可以使用本地的模板,这在建立非重用项目时非常有用。

我们认为 cookiecutter 是一个极棒的 Django 包,但是,事实上其实它在面对纯 Python 甚至非 Python 相关需求时也极为有用。你能够将所有文件以一种可重复的方式精确地摆放在任何位置上,使得 cookiecutter 成为了一个简化(DRY)工作流程的极佳工具。

最棒的静态资源服务器:Whitenoise

多年来,托管网站的静态资源——图片、Javascript、CSS——都是一件很痛苦的事情。Django 内建的 django.views.static.serve 视图,就像 Django 文章所述的那样,“在生产环境中不可靠,所以只应为开发环境的提供辅助功能。”但使用一个“真正的” Web 服务器,如 NGINX 或者借助 CDN 来托管媒体资源,配置起来会比较困难。

Whitenoice 很简洁地解决了这个问题。它可以像在开发环境那样轻易地在生产环境中设置静态服务器,并且针对生产环境进行了加固和优化。它的设置方法极为简单:

  1. 确保你在使用 Django 的 contrib.staticfiles 应用,并确认你在配置文件中正确设置了STATIC_ROOT 变量。

  2. 在wsgi.py文件中启用 Whitenoise:

    from django.core.wsgi import get_wsgi_applicationfrom whitenoise.django import DjangoWhiteNoiseapplication = get_wsgi_application()application = DjangoWhiteNoise(application)>

配置它真的就这么简单!对于大型应用,你可能想要使用一个专用的媒体服务器和/或一个 CDN,但对于大多数小型或中型 Django 网站,Whitenoise 已经足够强大。

如需查看更多关于 Whitenoise 的信息,请查看文档。

开发 REST API 的最佳工具:Django REST Framework

REST API 正在迅速成为现代 Web 应用的标准功能。 API 就是简单的使用 JSON 对话而不是 HTML,当然你可以只用 Django 做到这些。你可以制作自己的视图,设置合适的 Content-Type,然后返回 JSON 而不是渲染后的 HTML 响应。这是在像 Django Rest Framework(下称 DRF)这样的 API 框架发布之前,大多数人所做的。

如果你对 Django 的视图类很熟悉,你会觉得使用 DRF 构建 REST API 与使用它们很相似,不过 DRF 只针对特定 API 使用场景而设计。一般的 API 设置只需要一点代码,所以我们没有提供一份让你兴奋的示例代码,而是强调了一些可以让你生活的更舒适的 DRF 特性:

  1. 可自动预览的 API 可以使你的开发和人工测试轻而易举。你可以查看 DRF 的示例代码。你可以查看 API 响应,并且不需要你做任何事就可以支持 POST/PUT/DELETE 类型的操作。
  2. 便于集成各种认证方式,如 OAuth, Basic Auth, 或API Tokens。
  3. 内建请求速率限制。
  4. 当与 django-rest-swagger 组合使用时,API 文档几乎可以自动生成。
  5. 广泛的第三方库生态。

当然,你可以不依赖 DRF 来构建 API,但我们无法想象你不去使用 DRF 的原因。就算你不使用 DRF 的全部特性,使用一个成熟的视图库来构建你自己的 API 也会使你的 API 更加一致、完全,更能提高你的开发速度。如果你还没有开始使用 DRF, 你应该找点时间去体验一下。

基于 Django 的最佳 CMS:Wagtail

Wagtail 是当下 Django CMS(内容管理系统)世界中最受人青睐的应用,并且它的热门有足够的理由。就像大多数的 CMS 一样,它具有极佳的灵活性,可以通过简单的 Django 模型来定义不同类型的页面及其内容。使用它,你可以从零开始在几个小时而不是几天之内来和建造一个基本可以运行的内容管理系统。举一个小例子,为你公司的员工定义一个员工页面类型可以像下面一样简单:

from wagtail.wagtailcore.models import Pagefrom wagtail.wagtailcore.fields import RichTextFieldfrom wagtail.wagtailadmin.edit_handlers import FieldPanel, MultiFieldPanelfrom wagtail.wagtailimages.edit_handlers import ImageChooserPanelclass StaffPage(Page):   name = models.CharField(max_length=100)   hire_date = models.DateField()   bio = models.RichTextField()   email = models.EmailField()   headshot = models.ForeignKey('wagtailimages.Image', null=True, blank=True)   content_panels = Page.content_panels + [                               FieldPanel('name'),                               FieldPanel('hire_date'),                               FieldPanel('email'),                               FieldPanel('bio',classname="full"),                               ImageChoosePanel('headshot'),                               ]

然而,Wagtail 真正出彩的地方在于它的灵活性及其易于使用的现代化管理页面。你可以控制不同类型的页面在哪网站的哪些区域可以访问,为页面添加复杂的附加逻辑,还天生就支持标准的适应/审批工作流。在大多数 CMS 系统中,你会在开发时在某些点上遇到困难。而使用 Wagtail 时,我们经过不懈努力找到了一个突破口,使得让我们轻易地开发出一套简洁稳定的系统,使得程序完全依照我们的想法运行。如果你对此感兴趣,我们写了一篇[深入理解 Wagtail][17。

提供社交账户登录的最佳工具:django-allauth

django-allauth 是一个能够解决你的注册和认证需求的、可重用的 Django 应用。无论你需要构建本地注册系统还是社交账户注册系统,django-allauth 都能够帮你做到。

这个应用支持多种认证体系,比如用户名或电子邮件。一旦用户注册成功,它还可以提供从无需认证到电子邮件认证的多种账户验证的策略。同时,它也支持多种社交账户和电子邮件账户。它还支持插拔式注册表单,可让用户在注册时回答一些附加问题。

django-allauth 支持多于 20 种认证提供者,包括 Facebook、Github、Google 和 Twitter。如果你发现了一个它不支持的社交网站,很有可能通过第三方插件提供该网站的接入支持。这个项目还支持自定义后端,可以支持自定义的认证方式,对每个有定制认证需求的人来说这都很棒。

django-allauth 易于配置,且有完善的文档。该项目通过了很多测试,所以你可以相信它的所有部件都会正常运作。

感谢你能够认真阅读完这篇文章,希望小编分享的“Django开发常用5个软件包是什么”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Django开发常用5个软件包是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Django开发常用5个软件包是什么

这篇文章主要介绍了Django开发常用5个软件包是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Django是一款高级的Python Web框架,可以帮助开发者快速创建w
2023-06-27

使用Linux软件包管理器的5个理由是什么

本篇文章为大家展示了使用Linux软件包管理器的5个理由是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 2021 年,人们喜欢 Linux 的理由比以往任何时候都多。在这个系列中,我将分享
2023-06-15

c#开发用什么软件

c# 开发常用的软件包括:1. microsoft visual studio,官方 ide,提供强大功能;2. visual studio code,轻量级开源 ide,支持扩展;3. rider,商业 ide,提供高级功能;4. mon
c#开发用什么软件
2024-04-04

Windows软件包2012是什么有什么用?

Windows软件包编程客栈2012 为用户提供了一系列桌面应用程序。它可以简化客户在桌面上经常执行的活动:使用照片库修饰照片、使用 Movie Maker 创建个人电影以及使用 SkyDrive 访问多用途云存储。Microsoft Wi
2023-06-04

PHP常用开发工具是什么

小编给大家分享一下PHP常用开发工具是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. NetBeansNetBeans是一款功能强大的PHP IDE,它支
2023-06-15

c#可以用什么软件开发

c# 开发的主要软件包括:microsoft visual studio:官方 ide,提供全套工具。visual studio code:开源轻量级 ide,支持 c#。jetbrains rider:专为 c# 开发设计的跨平台 ide
c#可以用什么软件开发
2024-04-04

软件开发中的API和SDK是什么

在软件开发中,API和SDK是用于帮助开发者构建和集成软件应用程序的工具。API作为软件组件之间的接口,提供了方法、参数和返回值的定义,封装了底层实现,简化了开发过程,并促进了模块化和代码复用。而SDK则是一个开发工具包,提供了开发环境、示例代码、文档和支持。
软件开发中的API和SDK是什么
2023-10-29

Vue开发的常用方法是什么

本篇文章为大家展示了Vue开发的常用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。$nextTick()this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行。在修改数
2023-06-22

java主要用来开发什么软件

Java能做的事情很多,涉及到编程领域的各个方面。例如:一、桌面级应用尤其是需要跨平台的桌面级应用程序。桌面级应用:简单的说就是主要功能都在我们本机上运行的程序,比如 word、excel 等运行在本机上的应用就属于桌面应用。(免费学习视频分享:java视频教
java主要用来开发什么软件
2020-03-10

美国服务器Linux系统下常见的软件包是什么

在美国服务器上运行的Linux系统上常见的软件包包括:Apache HTTP服务器:用于托管网站和应用程序的常见Web服务器软件。MySQL:关系型数据库管理系统,用于存储和管理数据。PHP:一种流行的服务器端脚本语言,经常与Apach
美国服务器Linux系统下常见的软件包是什么
2024-04-22

Java开发者要掌握的20个Spring常用注解分别是什么

Java开发者要掌握的20个Spring常用注解分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。注解本身没有功能的,就和 xml 一样。注解和 xml 都是一种元数
2023-06-16

Linux 后台开发常用调试工具是什么

本篇文章给大家分享的是有关Linux 后台开发常用调试工具是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux入门编译阶段nm 获取二进制文件包含的符
2023-06-28

Linux常用的C语言开发工具是什么

这篇文章主要介绍“Linux常用的C语言开发工具是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux常用的C语言开发工具是什么”文章能帮助大家解决问题。linux下的C语言开发(makef
2023-06-28

开发餐饮小程序常用功能是什么

这篇文章主要介绍了开发餐饮小程序常用功能是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、小项目餐饮业小程序点餐将成为部分餐饮业态的必然趋势。餐饮行业借助小程序 微信支
2023-06-27

Flex组件开发常见问题的解决方案是什么

Flex组件开发常见问题的解决方案是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Flex组件开发总结1.如何监听键盘事件?
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录