编写你的第一个 Django 应用-第 1 部分 让我们通过示例来学习。 通过这个教程,我们将带着你创建一个基本的投票应用程序。 它将由两部分组成: 一个让人们查看和投票的公共站点。...如果你正在使用一个较老版本的 Python,在 我应该使用哪个版本的 Python 来配合 Django? 查找一个合适的 Django 版本。...我们将这个服务器内置在 Django 中是为了让你能快速的开发出想要的东西,因为你不需要进行配置生产级别的服务器(比如 Apache)方面的工作,除非你已经准备好投入生产环境了。...因为投票应用有它自己的 URLconf( polls/urls.py ),他们能够被放在 "/polls/" , "/fun_polls/" ,"/content/polls/",或者其他任何路径下,这个应用都能够正常工作...本教程中不会使用这一特性。 path() 参数: name 为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。
也就是说,你需要用一些自动生成的代码配置一个 Django project —— 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置。...我们将这个服务器内置在 Django 中是为了让你能快速的开发出想要的东西,因为你不需要进行配置生产级别的服务器(比如 Apache)方面的工作,除非你已经准备好投入生产环境了。...在这个教程中,我们将在你的 manage.py 同一级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite 的子模块。...因为投票应用有它自己的 URLconf( polls/urls.py ),他们能够被放在 "/polls/" , "/fun_polls/" ,"/content/polls/",或者其他任何路径下,这个应用都能够正常工作...本教程中不会使用这一特性。 path() 参数:name¶ 为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。
让我们通过样例来学习Django吧。 本教程将通过一个简单的投票应用来让您熟悉Django。...如果这是你第一次使用Django,你需要做一些初始化工作,也就是说我们会自动生成一些代码来帮你建立一个Django 项目 。主要是一些配置信息,包括数据库配置、Django选项和特定的应用程序设置。...你的应用代码可以放置在 python路径 下的任何位置,在本教程中,我们会在manage.py文件的旁边创建我们的投票应用,这样我们在引入的时候可以将这个应用作为顶级模块而不是mysite的子模块引入。...由于这个投票应用有它自己的URL配置文件(polls/urls.py),它可以被放置在/polls/下,也可以在/fun_polls/下,或者在/content/polls/下,其他根路径也是可以的,应用仍然可以正常工作...然而在实际工作中,你不需要成为一个正则专家,因为你只需要如何去捕捉简单的字段就好,事实上,复杂的正则表达式在性能上通常表现不能令人满意,所以,不建议你完全依赖正则表达式。
参见: 在知乎上学 Python - 入门篇 在知乎上学 Python - 爬虫篇 在知乎上学 Python - 数据分析篇 本文是这个系列的第4篇,分享一下有关 用 Python 进行 Web...Python 应用于 Web 开发中的“后端”,也就是服务器上程序的开发。因此,除了人们熟知的网站之外,凡是具备联网功能 App、游戏、办公软件,也都有可能采用 Python 进行服务器端的开发。.../p/43833483 我如何使用 Django + Vue.js 快速构建项目 本篇将手把手教你如何快速而优雅的构建前后端分离的项目 https://zhuanlan.zhihu.com/p/25080236...https://zhuanlan.zhihu.com/python-flask-web-note 站外资源 Django 官方入门教程 带着你创建一个基本的投票应用程序 https://docs.djangoproject.com...Girl Django Girl 针对 2.0 版本的中文翻译版 https://python666.cn/static/djangogirl/djangogirl.html ---- 注意:由于微信文中不能直接跳转外部链接
web框架的作用有以下几点: 减少重复的繁琐的工作,web开发中有很多重复的没有技术含量的工作,web工作可以将这些工作封装好,或者自动化实现 提供标准与规范,便于开发人员合作。...本教程以django2.0为框架,搭建一个简易的投票系统,主要参考 django2.0的官方文档 通过此教程,将实现一个基本的投票应用 包括两个部分: 前台:用户可在前台看到所有候选者并进行投票 后台:...mysite 项目相当于django的一个实例,包含了所有配置文件以及所有应用 项目名称在命名时应避免使用python内置的关键字或者django的模块组件名。...如,不能将项目命名为django,这将会与Django自身冲突,也不能将项目命名为test,会与python内置的test模块冲突 目录结构: $ cd mysite $ tree . ├── manage.py...但有些行为可能触发不到开发服务器的自动加载,这时就需要我们手工重新启动 创建投票应用 项目与应用的区别:一个项目中可以包含多个应用,应用是指功能性的划分模块。
目录[-] 在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点; 一个可以进行增删改查的后台admin管理界面; 我们假设你已经安装了...如果Django版本不匹配,您可以去官网参考您的对应Django版本的教程,或者将Django更新到最新版本。 如果你仍然在使用Python 2.7,你需要稍微调整代码,注意代码中的注释。...开发服务器 让我们验证一下你的Django项目是否工作。...注意:现在忽略有关未应用数据库迁移的警告;下面教程将很快处理数据库 这表明你已经启动了Django开发服务器,一个用纯Python写的轻量级Web服务器。...因此若要监听所有的外网IP,请使用(如果你想在另外一台电脑上展示你的工作,会非常有用): python manage.py runserver 0.0.0.0:8000 runserver的自动重载 在
目录[-] 本教程上接教程Part4。 前面已经建立一个网页投票应用,现在将为它创建一些自动化测试。 自动化测试简介 什么是自动化测试 测试是检查你的代码是否正常运行的行为。测试也分为不同的级别。...测试可以节约开发时间 某种程度上,“检查并发现工作正常”似乎是种比较满意的测试结果。但在一些复杂的应用中,你会发现组件之间存在各种各样复杂的交互关系。...如果出现了错误,还能够帮助找出引发这个异常行为的代码。 有时候你可能会觉得编写测试程序相比起有价值的、创造性的编程工作显得单调乏味、无趣,尤其是当你的代码工作正常时。...测试新视图 现在,您可以通过启动运行服务器,在浏览器中加载站点,创建过去和将来的日期的问题,并检查仅列出已发布的站点,从而满足您的需求。...当你对Django 视图的测试感到满意后,请阅读本教程的第6部分来了解静态文件的管理。
编写你的第一个 Django 程序 第1部分 让我们通过例子来学习。 在本教程中,我们将引导您创建一个基本的投票应用。 它将包含两部分: 一个公共网站,可让人们查看投票的结果和让他们进行投票。...在哪里可以获得帮助: 如果您在学习本教程中遇到问题,请在 django-users 上发贴或者在 #django on irc.freenode.net 上与其他可能会帮助您的 Django 用户交流...它工作正常! 更改端口号 默认情况下,runserver 命令启动的开发服务器只监听本地 IP 的 8000 端口。 如果你想改变服务器的端口,把它作为一个命令行参数传递即可。...因此,要监听所有公共 IP 地址(如果你想在其他电脑上炫耀你的工作),请使用: python manage.py runserver 0.0.0.0:8000 有关开发服务器的完整文档可以在 runserver...当你对 API 有所了解后, 请查看 教程 第2部分 来学习 Django 的自动生成的管理网站是如何工作的。 译者:Django 文档协作翻译小组,原文:Part 1: Models。
,runserver 命令在端口 8000 的内部 IP 上启动开发服务器。...例如,这个命令在端口 8080 上启动服务器: python manage.py runserver 8080 如果您想更改服务器的 IP,请将其与端口一起传递。...,应用程序仍然可以工作。...migrate 命令只会在 INSTALLED_APPS 中运行应用程序的迁移。 创建模型 在我们的投票应用程序中,我们将创建两个模型: 问题和选择。问题有问题和发布日期。...在我们的投票应用程序中,我们将有以下四个视图: 问题“索引”页面-显示最近的几个问题。 问题“细节”页面-显示一个问题文本,没有结果,但有一个表格来投票。 问题“结果”页面-显示特定问题的结果。
可重用很重要 设计、构建、测试和维护一个网页应用有许多工作要做。许多Python 和 Django 项目都有常见的共同问题。可重用将会节省这些重复性工作。 可重用性在Python 中是一种常见的方式。...假设您正在开始一个新项目,需要一个像我们一直在进行的投票应用程序。你如何让该应用可重用?幸运的是,你已经在正确的道路上。...在教程 3中,我们看到我们可以如何使用include将投票应用从项目级别的URLconf 解耦。在本教程中,我们将更进一步,让你的应用在新的项目中容易地使用并随时可以发布给其它人安装和使用。 包?...更多关于打包的信息,参见Python 的 打包和分发项目的教程。 使用你自己的包 因为,我们将polls 目录移到项目的目录之外,它不再工作了。...: pip install --user django-polls/dist/django-polls-0.1.tar.gz 幸运的话,你的Django 项目现在应该又能正常工作了。
前景回顾 上一篇文章,主要做了以下内容: 1.安装Django,搭建开发环境; 2.创建了一个项目mysite; 3.成功启动了Django开发服务器; 4.成功的访问了Django欢迎界面; 以上内容如果未实现的请访问上一篇文章...创建投票应用 要创建应用程序,请确保进入与manage.py文件位于同一目录中: ?...编辑视图 视图在 Django 中非常重要,是连接页面与数据的中间纽带。例如登陆系统,用户在页面上输入了用户名和密码点击登录。...因为投票应用有它自己的 URLconf( polls/urls.py ),他们能够被放在 “/polls/“ , “/fun_polls/“ ,”/content/polls/“,或者其他任何路径下,这个应用都能够正常工作...接下来验证是否正常工作,进入manage.py文件目录运行下面的命令: python manage.py runserver 成功启动服务: D:\mysite λ python manage.py
如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。 mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。...阅读 URL调度器 文档来获取更多关于 URL 的内容。 mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。...我们将这个服务器内置在 Django 中是为了让你能快速的开发出想要的东西,因为你不需要进行配置生产级别的服务器(比如 Apache)方面的工作,除非你已经准备好投入生产环境了。...3 创建投票应用 项目和应用有啥区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者简单的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。...小结 这一节学习了 Django 基本的请求和响应流程,下一节将学习教程的第 2 部分 开始使用数据库.
编写你的第一个Django应用,第6部分 本教程上接教程 5。 我们已经建立一个测试过的网页投票应用,现在我们将添加一张样式表和一张图片。...在Django中,我们将这些文件称为“静态文件”。 对于小型项目,这不是个大问题,因为你可以将它们放在你的网页服务器可以访问到的地方。...因为AppDirectoriesFinder 静态文件查找器的工作方式,你可以通过polls/style.css在Django中访问这个静态文件,与你如何访问模板的路径类似。...关于静态文件设置的更多细节和框架中包含的其它部分,参见静态文件 howto 和静态文件参考。部署静态文件讨论如何在真实的服务器上使用静态文件。 下一步? 新手教程到此结束。...如果你熟悉Python 打包的技术,并且对如何将投票应用制作成一个“可重用的应用”感兴趣,请看高级教程:如何编写可重用的应用。
目录[-] 本教程接Part3开始。继续网页投票应用程序,并将重点介绍简单的表单处理和精简代码。...一个简单表单 更新一下在上一个教程中编写的投票详细页面的模板polls/detail.html,让它包含一个HTML 元素: # polls/templates/polls/detail.html... 现在,在浏览器中访问/polls/1/然后为Question投票。应该看到一个投票结果页面,并且在每次投票后都会更新。 如果提交时没有选择任何Choice,应该会看到错误信息。...如果您的网站的两位用户尝试在完全相同的时间投票,这可能会出错。这被称为竞争条件。...现在你可以运行开发服务器,然后试试基于泛型视图的应用程序了。 更多关于通用视图的详细信息,请查看通用视图文档。
高级教程:如何编写可重用的应用 本高级教程上接教程 6。我们将把我们的网页投票转换成一个独立的Python包,这样你可以在其它项目中重用或者分享给其它人。...如果你最近没有完成教程1–6,我们建议你阅读它们使得你的示例项目与下面描述的相匹配。 可重用很重要 设计、构建、测试和维护一个网页应用有许多工作要做。...比如说,你正在开始一个新的项目,需要一个像我们正在编写的投票应用。你如何让该应用可重用?幸运的是,你已经在正确的道路上。...在教程 3中,我们看到我们可以如何使用include将投票应用从项目级别的URLconf 解耦。在本教程中,我们将更进一步,让你的应用在新的项目中容易地使用并随时可以发布给其它人安装和使用。 包?...现在你可能更加清晰为什么我们为项目和应用选择单独的模板目录:属于投票应用的部分全部在polls中。它使得该应用自包含且更加容易丢到一个新的项目中。
Django 的功能大而全,它提供的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。它有很多功能强大的第三方插件,可以使我们更快速、方便的开发一个网站。...创建一个项目 项目是 Django 实例的一系列设置的集合,它包括数据库配置、Django 特定选项以及应用程序的特定设置。...Django 自带了一个简单的网络服务器,在开发过程中非常方便,所以我们无需安装任何其他软件即可在本地运行项目。...然后在浏览器输入服务器的IP及端口号(这里我们输入本机 IP 地址: 127.0.0.1:8080) ,如果正常启动。...在这个教程中,我们将在你的 manage.py 同级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite 的子模块。
哲理 在 Django 应用程序中,视图是一“类”具有特定功能和模板的网页。 例如,在一个博客应用程序中,你可能会有以下视图: 博客首页 – 显示最新发表的博客。...投票功能 – 为一项给定的民意调查处理投票选项。 在 Django 中,网页及其他内容是由视图来展现的。而每个视图就是一个简单的 Python 函数(或方法, 对于基于类的视图情况下)。...但是,实际上,你并不需要成为一个正则表达式的专家,仅仅需要知道如何捕获简单的模式。 事实上,复杂的正则表达式会降低查找性能,因此你不能完全依赖正则表达式的功能。...当 Django 在 URLconf 中不能找到能匹配的正则表达式时 404 视图也将被调用。...编写一个 500 ( 服务器错误 ) 视图 类似的,你可以在 root URLconf 中定义 handler500 变量,在服务器发生错误时 调用它指向的视图。
我们是在本地开发的,项目最终上线是要部署到服务器上的,本篇笔记记录了我个人部署的整个过程,仅供参考。 一、新建站点 1、使用宝塔面板创建一个站点 站点创建成功!...我们需要让进程 24 小时不间断的工作,这里我是用 screen 实现的。...在宝塔面板上配置 八、部署完成 访问django.sunguoqi.com/polls/,没有可用的投票,因为我们后台没添加数据。...本质上我们目前项目使用的还是 Django 自带的 web 服务器,只是用 Nginx 做了一个反向代理。 ...所以在项目部署阶段,DEBUG=False 的时候,Django 便不在管理静态文件了,Django 想让我们把静态文件交给 Nginx(或者其他 web 服务器)来处理。
编写你的第一个Django应用,第5部分 本教程上接教程第4部分。 我们已经建立一个网页投票应用,现在我们将为它创建一些自动化测试。 自动化测试简介 什么是自动化测试?...你可能感觉学习Python/Django已经足够,再去学习其他的东西也许需要付出巨大的努力而且没有必要。 毕竟,我们的投票应用已经活蹦乱跳了; 将时间运用在自动化测试上还不如运用在改进我们的应用上。...测试将节省你的时间 在某种程度上, ‘检查起来似乎正常工作’将是一种令人满意的测试。 在更复杂的应用中,你可能有几十种组件之间的复杂的相互作用。...有时候你可能会觉得编写测试程序将你从有价值的、创造性的编程工作里带出,带到了单调乏味、无趣的编写测试中,尤其是当你的代码工作正常时。...>] 改进我们的视图 投票的列表显示还没有发布的投票(即pub_date在未来的投票)。让我们来修复它。
编写你的第一个 Django 程序 第4部分 本教程上接 教程 第3部分 。我们将 继续开发 Web-poll 应用并且关注在处理简单的窗体和优化我们的代码。...当你创建一个表单为了修改服务器端的数据时,请使用 method=”post” 。这不是 Django 特定的技巧;这是优秀的 Web 开发实践。...但是本教程直到现在都故意集中介绍“硬编码”视图,是为了专注于核心概念上。 就像你在使用计算器前需要知道基本的数学知识一样。...你也可以删除不再需要的 HttpResponse 导入包了。 运行服务器,并且使用下基于通用视图的新投票应用。 有关通用视图的完整详细信息,请参阅 通用视图文档....当你熟悉了窗体和通用视图后,请阅读 教程 第5部分 来学习测试我们的投票应用。 译者:Django 文档协作翻译小组,原文:Part 4: Forms and generic views。
领取专属 10元无门槛券
手把手带您无忧上云