PyCharm入门第一步(四)——创建和运行第一个Django项目
步骤4:创建和运行您的第一个Django项目
注:此功能仅在专业版中受支持。
在你开始之前
- 您正在使用PyCharm 2016.1或更高版本。
- 您的计算机上至少安装了一个Python解释器。
- 你已经安装了Django包。
本教程是使用以下假设创建的:
- Python 3.4.1。
- Django 1.10.0或更高版本。
- 本教程中使用的示例与Django文档中使用的示例类似 。
创建一个新项目
实际上,所有新项目都是以相同的方式创建的:通过单击欢迎屏幕的快速启动区域中的“ Create New Project”按钮:
如果您已经打开了项目,请选择主菜单中的File | New Project...来创建一个新的项目,选择所需的项目类型(这里是Django)。指定项目名称和位置。Python的最佳实践是为每个项目创建virtualenv。为此,请展开Project Interpreter:New Virtualenv Environment节点,然后选择用于创建新虚拟环境的工具。这里选择Virtualenv工具,并指定用于新虚拟环境的位置和基本解释器。如有必要,请选中下面的两个复选框。接下来,展开“ More Settings”节点并指定与Django相关的设置。在“ Application name”字段中,指定应用程序名称(此处为polls)。
单击Create - Django项目已准备就绪。
Exploring project structure
如上所述,基本上,存根项目已准备就绪。它包含特定于框架的文件和目录。当您创建任何受支持类型的项目时,也会发生同样的情况,无论是Pyramid还是Google App Engine。现在来看看如何在项目工具窗口中看到新项目的结构。
项目工具窗口的项目视图
默认显示此视图。它显示了特定于Django的项目结构: polls和mysite目录; 另外,你可以看到 manage.py和settings.py文件。请注意,您在此视图中看不到.idea目录:
项目工具窗口的项目文件视图
如果出于某些原因,您希望查看.idea目录的内容,请选择视图Project Files:如您所见,此视图显示相同的目录和文件,以及.idea目录,因为它位于项目根目录下:
在项目视图中看到了什么?
- mysitedirectory是项目的容器。在项目视图中,它用粗体字表示。
- manage.py:这是一个命令行实用程序,可让您与Django项目进行交互。
- 嵌套目录mysite是项目的实际Python包。
- mysite/__init__.py:这个空文件告诉Python这个目录应该被认为是一个Python包。
- mysite/settings.py:此文件包含Django项目的配置。
- mysite/urls.py:此文件包含Django项目URL声明。
- mysite/wsgi.py:此文件定义了与WSGI兼容的Web服务器的入口点,以便为您的项目提供服务。
- 嵌套目录polls包含开发Django应用程序所需的所有文件(此时,这些文件为空):
- polls/_init_.py告诉Python该目录应该被视为Python包。
- polls/models.py:在这个文件中,将为应用程序创建模型。
- polls/views.py:在这个文件中,将创建视图。
- templates目录现在是空的。它应该包含模板文件。
- 嵌套目录migrations现在只包含包文件 _init_.py,但将来会用于将您对模型所做的更改(添加字段,删除模型等)传到数据库模式中。
请注意,您可以根据需要创建任意数量的Django应用程序。要将应用程序添加到项目,请运行manage.py程序的startapp任务(Tools | Run manage.py task,然后在控制台中输入startapp)。
配置数据库
现在,当项目存根准备就绪时,让我们做一些微调。打开进行编辑settings.py。为此,请在“项目”工具窗口中选择该文件,然后按F4。该文件在编辑器中的own选项中打开。指定要在应用程序中使用的数据库。为此,找到 DATABASES变量:单击Ctrl+F,然后在搜索字段中开始键输入要查找的字符串。然后,在“ENGINE”行中,在dot之后添加数据库管理系统的名称(您可以使用注释后指定的任何名称,但首先我们将从sqlite3开始。)在该'NAME'行中,输入所需数据库的名称,即使它尚不存在。
启动Django服务器
由于选择sqlite3,因此不需要定义其他值(用户凭据,端口和主机)。现在检查一下设置是否正确。这可以最轻松地完成:只需启动manage.py实用程序的runserver任务:按Ctrl + Alt + R,然后在manage.py控制台中输入任务名称:
按照建议的链接,查看以下页面:
创建模型
接下来,编辑文件models.py,并注意import语句已经存在。然后输入以下代码:
实际上,你可以只复制粘贴,但建议输入 - 它可以帮助你看到功能强大的PyCharm的代码完成:
创建数据库
必须为新模型创建表。为此我们将使用Ctrl + Alt + R快捷方式来调用manage.py控制台。要执行的第一个命令是makemigrations polls:
因此,您已经告诉Django已经创建了两个新模型,即Choice 和Question,并创建了一个migration:
接下来,在提示符后,输入以下命令:
sqlmigrate polls 0001
最后,运行migrate命令在数据库中实际创建这些表:
执行管理功能
首先,创建一个超级用户。为此,请在manage.py控制台中输入createsuperuser命令,指定您的电子邮件地址和密码:
由于决定启用站点管理,PyCharm已经取消注释文件urls.py中的相应行。打开admin.py目录中的polls文件进行编辑,并查看以下已存在的代码:
但是,需要为管理站点启用编辑功能。
准备运行/调试配置
现在准备进入管理页面。当然,很有可能运行Django服务器,然后转到您的浏览器,并在地址栏中键入整个URL,但使用PyCharm有一种更简单的方法:使用预先配置的Django服务器运行配置稍作修改。要打开此运行/调试配置以进行编辑,请在主工具栏上单击运行/调试配置选择器,然后选择“ Edit Configurations”(或在主菜单上选择Run | Edit Configurations):
在“ Run/Dug Configuration”对话框中,为此运行/调试配置命名(此处为mysite),启用在默认浏览器中运行应用程序(选中“ Run browser ”复选框)并指定默认打开的站点页面(此页为//127.0.0.1:8000/admin/):
启动管理站点
现在,要启动应用程序,请按Shift + F10,或单击主工具栏上的播放图标打开标准Django站点登录页面:
登录后,将显示管理页面。它有一部分身份验证和授权(组和用户),但Polls不可用。为什么这样?这里必须告诉管理员,Question对象有一个管理界面; 为此,打开文件 polls/admin.py进行编辑(在项目视图中选择并按下 F4),然后输入以下代码:
再次注意代码完成:
刷新页面,看到出现问题的Polls部分:
单击“ Add”以创建一些问题。
编辑admin.py
再次打开以编辑文件polls/admin.py并按如下所示进行更改:
现在查看更改问题页面:
Writing views
打开polls/views.py文件进行编辑,然后输入以下Python代码:
接下来,将新文件添加到名为urls.py的polls目录中,并在其中输入以下代码:
接下来,编辑文件mysite/urls.py(PyCharm已经为您创建)并添加索引页面的URL。您应该得到以下代码:
现在,打开页面127.0.0.1:8000/polls/:
接下来,添加更多视图。再次,将以下代码添加到polls/views.py文件中:
通过添加以下url()调用将这些新视图连接到polls.urls模块:
如果您现在在浏览器中打开相应的页面,您将看到,例如:
创建Django模板
如您所见,这些页面的设计在视图中是编码的。因此,为了使其更具可读性,您必须编辑相应的Python代码。 然后让我们将输出的可视化表示与Python分开 - 为此,创建模板。
请注意帮助您创建import语句的导入助手。您注意到的第一件事是对index.html页面的未解析引用:
PyCharm建议快速修复:如果单击灯泡,或按 Alt+Enter,则会在模板文件夹中创建相应的模板文件(请注意,PyCharm还会创建此模板应保留的目录Polls):
到目前为止,该index.html文件为空。将以下代码添加到其中:
注意模板文件中的代码完成! 例如,当您输入开头{%,PyCharm adds the matching closing one %}时,将插入符号放在将来输入的位置。 在HTML标记中,代码完成也可用。
这些图标使您可以立即在视图方法和模板之间跳转。
使用样式表
正如您在视图文件index.html中看到的那样,对样式表有一个引用,它没有得到解决:
以下列方式解析此引用:
- 创建目录。请在“项目”视图中选择Python package polls,然后按Alt+Insert。
在出现的弹出菜单中,选择“Directory”,然后指定目录结构的名称static/polls。
- 接下来,在此目录中创建样式表。请选择 innermost directory polls,按Alt+Insert,选择样式表选项 ,然后在打开的对话框中输入样式。
- 根据您的偏好,为创建的样式表提供一些内容。例如,希望看到一个绿色标题的项目符号列表:
Here we are!
现在查看可用的Polls。管理站点已经运行,访问包含Polls列表(索引页面)的页面的最简单方法是指定其URL:在浏览器的地址栏中,而不是/ admin /,输入/ polls/:
测试一下
现在来看看PyCharm如何帮助简化测试应用程序。polls目录中已有文件tests.py。 到现在为止,这个文件是空的。 当然,建议将新测试放在此特定文件中。 例如,想确保Polls不是空的
要运行此测试,请在编辑器中右键单击文件tests.py的background,选择Run,或者按Ctrl + Shift + F10。 PyCharm建议两个选项:运行UnitTest(定义为默认测试运行器)或Django测试。测试结果显示在“运行”工具窗口的“ Test Runner”选项中:
概要
- 已经创建了一个Django项目和应用程序
- The Django server launched
- 已配置数据库
- 创建模型,视图和模板
- 该应用程序已启动
- 测试创建和执行