PYTHON案例NO1-一个简单完整的Python Django框架项目案例 Part01 项目准备

介绍

环境:Python 3.6.2+Django 1.11.4

欢迎班

今天我要开始一个关于Django基础知识的新教程。 这是开始学习Django的完整初学者指南。 材料分为七个部分。 我们将详细探讨所有基本概念,从安装,开发环境的准备,模型,视图,模板,URL到更高级的主题,如迁移,测试和部署。

我想做点不同的事情。 一本易于理解,信息丰富且阅读有趣的教程。 就在那时,我提出了在文本中创建一些漫画的想法,以说明一些概念和场景。 我希望你喜欢阅读!

但在我们开始之前……

当我在大学担任替代教授时,我曾经在计算机科学课程中为新人学生介绍网络发展学科。 我总是以孔子的名言开始新课程:

孔子报价

所以,亲自动手! 不要只是阅读教程。 我们一起做吧! 通过练习和练习,您将学到更多东西。


为何选择Django?

Django是一个用Python编写的Web框架。 Web框架是一种支持动态Web站点,应用程序和服务开发的软件。 它提供了一组工具和功能,可以解决与Web开发相关的许多常见问题,例如安全功能,数据库访问,会话,模板处理,URL路由,国际化,本地化等等。

使用诸如Django之类的Web框架,使我们能够以标准化方式快速开发安全可靠的Web应用程序,而无需重新发明轮子。

那么,Django有什么特别之处呢? 对于初学者来说,它是一个Python Web框架,这意味着您可以从众多开源库中受益。 Python Package Index存储库包含超过116K的包(截至2017年9月6日)。 如果您需要解决特定问题,则有可能已经为其实现了库。

Django是用Python编写的最流行的Web框架之一。 它绝对是最完整的,提供开箱即用的各种功能,例如用于开发和测试的独立Web服务器,缓存,中间件系统,ORM,模板引擎,表单处理,与Python的单元测试工具的接口。 Django还附带电池 ,提供内置应用程序,如身份验证系统,自动生成CRUD操作页面的管理界面,生成联合供稿(RSS / Atom),站点地图。 甚至还有一个在Django中构建的地理信息系统(GIS)框架。

Django的开发得到了Django软件基金会的支持,它由JetBrains和Instagram等公司赞助。 Django现在已经存在了很长一段时间。 它正在积极开发超过12年,证明是一个成熟,可靠和安全的Web框架。

谁在使用Django?

很高兴知道谁在那里使用Django,所以要知道你可以用它做什么。 在使用Django的最大网站中,我们有: Instagram , Disqus , Mozilla , Bitbucket , Last.fm , 国家地理 。

有关更多示例,您可以看到Django Sites数据库,它们提供了超过5K Django支持的Web站点列表。

顺便说一句,去年,在Django Under The Hood 2016会议上,Django核心开发人员和Instagram员工Carl Meyer就Instagram如何大规模使用Django及其如何支持他们的发展进行了演讲。 这是一个小时的谈话,但如果你有兴趣了解更多,这是一个有趣的谈话。


安装

我们需要做的第一件事是在我们的机器上安装一些程序,以便能够开始使用Django。 基本设置包括安装PythonVirtualenvDjango

基本设置

使用虚拟环境不是强制性的,但强烈建议使用。 如果你刚刚开始,最好从右脚开始。

使用Django开发Web站点或Web项目时,必须安装外部库以支持开发。 使用虚拟环境,您开发的每个项目都将具有独立的环境。 所以依赖关系不会发生冲突。 它还允许您维护在不同Django版本上运行的本地计算机项目。

使用它非常简单,你会看到!

安装Python 3.6.2

我们要做的第一件事是安装最新的Python发行版,即Python 3.6.2 。 至少在我编写本教程时是这样的。 如果那里有更新的版本,那就去吧。 接下来的步骤应该或多或少保持不变。

我们将使用Python 3,因为最重要的Python库已经移植到Python 3,而下一个主要的Django版本(2.x)将不再支持Python 2。 所以Python 3是要走的路。

访问www.python.org点击Python 3.6.2下载页面,向下滚动,直到看到下面列出的下载文件:

Python 3.6.2 Windows Installer下载

根据您的Windows发行版选择正确的版本。 如果您不确定哪一个适合您,则可能需要下载Windows x86-64可执行安装程序版本。

转到“下载”目录,右键单击安装程序,然后单击“以管理员身份运行”

以管理员身份运行

确保选中“ 将Python 3.6添加到PATH ”选项,然后单击“ 立即安装”选项。

现在安装

安装完成后,您应该看到以下屏幕:

安装成功

现在搜索命令提示符程序并打开它:

命令提示符

要测试到目前为止一切是否正常工作,请键入以下命令:

 python --version

作为输出你应该看到:

 Python 3.6.2

python --version

很棒,Python正在运行。 下一步:虚拟环境!

安装Virtualenv

对于下一步,我们将使用pip (一种管理和安装Python包的工具)来安装virtualenv

在命令提示符中,执行以下命令:

 pip install virtualenv

pip install virtualenv

到目前为止,我们执行的安装是系统范围的。 从现在开始,我们安装的所有内容(包括Django本身)都将安装在虚拟环境中。

可以这样想:对于你开始的每个Django项目,你将首先为它创建一个虚拟环境。 这就像每个Django项目都有一个沙箱。 所以你可以玩,安装包,卸载包而不会破坏任何东西。

我喜欢在我的个人计算机上创建一个名为Development的文件夹。 然后,我用它来组织我的所有项目和网站。 但您可以按照以下步骤创建适合您的目录。

通常,我首先在Development文件夹中创建一个包含项目名称的新文件夹。 由于这将是我们的第一个项目,我们不需要选择一个奇特的名称或任何东西。 现在,我们可以称之为myproject

 mkdir myproject cd myproject

创建myproject文件夹

此文件夹是更高级别的目录,它将存储与我们的Django项目相关的所有文件和内容,包括其虚拟环境。

让我们首先创建我们的第一个虚拟环境并安装Django。

myproject文件夹中:

 virtualenv venv

VIRTUALENV

我们的虚拟环境已创建。 在我们开始使用它之前,我们需要激活:

 venv\Scripts\activate

如果你在命令行前看到(venv) ,你会知道它有效,如下所示:

Virtualenv激活

让我们试着去理解这里发生的事情。 我们创建了一个名为venv的特殊文件夹。 它包含此文件夹中的Python副本。 在我们激活venv环境后,当我们运行python命令时,它将使用我们的本地副本,存储在venv中 ,而不是我们之前安装的另一个。

另一个重要的事情是pip程序已经安装,当我们用它来安装Python包时,比如Django,它将被安装 venv环境中。

顺便说一句,要停用venv运行以下命令:

 venv \d eactivate.bat

但是让我们为后续步骤激活它。

安装Django 1.11.4

这很直截了当。 现在我们已经激活了venv ,运行以下命令来安装Django:

 pip install django

pip install django

我们现在都成立了!

结束安装


开始一个新项目

要启动一个新的Django项目,请运行以下命令:

 django-admin startproject myproject

命令行实用程序django-admin随Django自动安装。

运行上面的命令后,它将为Django项目生成基本文件夹结构。

现在,我们的myproject目录如下所示:

 myproject/ <-- higher level folder |-- myproject/ <-- django project folder | |-- myproject/ | | |-- __init__.py | | |-- settings.py | | |-- urls.py | | |-- wsgi.py | +-- manage.py +-- venv/ <-- virtual environment folder

我们的初始项目结构由五个文件组成:

  • manage.py :使用django-admin命令行实用程序的快捷方式。 它用于运行与我们项目相关的管理命令。 我们将使用它来运行开发服务器,运行测试,创建迁移等等。
  • __init__.py :这个空文件告诉Python这个文件夹是一个Python包。
  • settings.py :此文件包含所有项目的配置。 我们会一直参考这个文件!
  • urls.py :此文件负责映射项目中的路由和路径。 例如,如果要在URL /about/显示某些/about/ ,则必须先将其映射到此处。
  • wsgi.py :此文件是用于部署的简单网关接口。 你不必为此烦恼。 让它成为现在。

Django附带一个简单的Web服务器。 在开发过程中非常方便,因此我们不必安装任何其他东西来在本地运行项目。 我们可以通过执行命令来测试它:

 python manage.py runserver

目前,您可以忽略迁移错误; 我们稍后会谈到。

现在在Web浏览器中打开以下URL: http//127.0.0.18000 ,您应该看到以下页面:

有效!

按CTRL + BREAK停止开发服务器。


Django应用程序

在Django哲学中,我们有两个重要的概念:

  • app :是一个做某事的Web应用程序。 应用程序通常由一组模型(数据库表),视图,模板,测试组成。
  • project :是配置和应用程序的集合。 一个项目可以由多个应用程序或单个应用程序组成。

重要的是要注意,如果没有项目 ,就无法运行Django 应用程序 。 像博客这样的简单网站可以完全写在一个应用程序中,例如,可以将其命名为blogweblog

Django应用程序

这是组织源代码的一种方式。 在开始时,确定什么是应用程序或什么不是应用程序并不是非常简单。 如何组织代码等。 但是现在不用担心这个问题! 让我们首先熟悉Django的API和基础知识。

好的! 因此,为了说明让我们创建一个简单的Web论坛或讨论板。 要创建我们的第一个应用程序,请转到manage.py文件所在的目录并执行以下命令:

 django-admin startapp boards

请注意,我们这次使用了命令startapp

这将为我们提供以下目录结构:

 myproject/ |-- myproject/ | |-- boards/ <-- our new django app! | | |-- migrations/ | | | +-- __init__.py | | |-- __init__.py | | |-- admin.py | | |-- apps.py | | |-- models.py | | |-- tests.py | | +-- views.py | |-- myproject/ | | |-- __init__.py | | |-- settings.py | | |-- urls.py | | |-- wsgi.py | +-- manage.py +-- venv/

那么,让我们首先探讨每个文件的作用:

  • migrations / :这里Django存储一些文件来跟踪你在models.py文件中创建的更改,以便保持数据库和models.py同步。
  • admin.py :这是一个名为Django Admin的内置Django应用程序的配置文件。
  • apps.py :这是应用程序本身的配置文件。
  • models.py :这里是我们定义Web应用程序实体的地方。 这些模型由Django自动转换为数据库表。
  • tests.py :此文件用于为应用程序编写单元测试。
  • views.py :这是我们处理Web应用程序的请求/响应周期的文件。

现在我们创建了第一个应用程序,让我们配置我们的项目来使用它。

为此,请打开settings.py并尝试查找INSTALLED_APPS变量:

settings.py

 ]

如您所见,Django已经安装了6个内置应用程序。 它们提供了大多数Web应用程序所需的常用功能,如身份验证,会话,静态文件管理(图像,javascripts,css等)等。

随着本系列教程的进展,我们将探索这些应用程序。 但是现在,让他们只是将我们的主板应用程序添加到INSTALLED_APPS列表中:

 ]

使用前一个漫画中的方形和圆形的类比,黄色圆圈将是我们的棋盘应用程序,而django.contrib.admindjango.contrib.auth等将是红色圆圈。


你好,世界!

让我们写下我们的第一个观点 。 我们将在下一个教程中详细探讨它。 但是现在,让我们试一下用Django创建一个新页面的样子。

打开board app中的views.py文件,并添加以下代码:

views.py

 )

视图是接收HttpRequest对象并返回HttpResponse对象的Python函数。 接收请求作为参数并返回响应作为结果。 这是你必须记住的流程!

所以,在这里我们定义了一个名为home的简单视图,它只返回一条消息,说明Hello,World!

现在我们必须告诉Django 何时提供此视图。 它在urls.py文件中完成:

urls.py

 ]

如果您将上面的代码段与urls.py文件进行比较,您会注意到我添加了以下新行: url(r'^$', views.home, name='home')并从我们的应用程序导入了视图模块使用from boards import views 。

正如我之前提到的,我们稍后会详细探讨这些概念。

但就目前而言,Django使用正则表达式来匹配请求的URL。 对于我们的视图,我使用^$ regex,它将匹配一个空路径,即主页(此URL: http//127.0.0.18000 )。 如果我想匹配URL http://127.0.0.1:8000/homepage/ ,我的网址将是: url(r'^homepage/$', views.home, name='home') 。

让我们看看会发生什么:

 python manage.py runserver

在Web浏览器中,打开http://127.0.0.1:8000 URL:

你好,世界!

而已! 您刚刚创建了第一个视图。


结论

这是本系列教程的第一部分。 在本教程中,我们学习了如何安装最新的Python版本以及如何设置开发环境。 我们还介绍了虚拟环境并开始了我们的第一个Django项目,并且已经创建了我们的初始应用程序。

我希望你喜欢第一部分! 第二部分将于2017年9月11日下周发布。它将涉及模型,视图,模板和URL。 我们将一起探讨所有Django基础知识! 如果您希望在第二部分出来时收到通知,您可以订阅我们的邮件列表 。

这样我们可以保持同一页面,我在GitHub上提供了源代码。 可以在发布标记v0.1-lw下找到项目的当前状态。 以下链接将带您到正确的位置:

https://github.com/sibtc/django-beginners-guide/tree/v0.1-lw

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论