From: http://blog.csdn.net/u013088062/article/details/50158239

From: http://blog.csdn.net/u013088062/article/details/50246781

From: http://blog.csdn.net/u013088062/article/details/50221825

最全Pycharm教程(8)——Django工程的创建和管理

最全Pycharm教程(13)——Pycharm部署

最全Pycharm教程(12)——Pycharm调试器之Java脚本调试

  • 创建新工程
  • 新工程解析
  • 数据库配置
  • 创建MVC
  • 代码部署
  • 调试JAVA脚本

 


创建新工程

  1、主题

  这部分教程主要介绍如何通过Pycharm创建、管理、运行一个Django工程。

  Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。

2、准备工作

    (1)Pycharm为3.0或者更高版本。

    (2)电脑上至少安装了一个Python解释器,2.4到3.3版本均可。

     这部分教程所用的环境配置如下:

    (1)Django模块的版本为1.6.5

    (2)默认为Windows模式下的快捷键配置

    (3)这部分例子与Django模块的说明文档中所用的实例相同Django documentation

  3、创建一个新工程

    实际上所有工程的创建都可以通过单击Welcome screen界面上的Create New Project按钮来实现。

    如果你已经打开了一个工程,可以通过菜单栏File → New Project...来创建一个新的工程。接下来在 Create New Project dialog对话框中输入工程名字、选择类型以及用到的解释器版本:

    

    单击OK,工程的个性化设置完成。

    这就意味着对应目录已经创建完成,并且预先定义了一个.idea目录用来保存配置信息project settings

    对于一个空的工程empty project,创建的环节已经完成了。接下里你就可以开始编写程序。但对于一些所支持的第三方框架,还有一些工作要做。

    根据所选择的工程类型,Pycharm会提示我们进行一些额外的框架设置。

    在本实例中,让我们来创建开发一个Django应用。

  4、创建一个Django工程  

    因此,在Create New Project对话框中我们的工程类型选择为Django,注意Pycharm会提示我们安装Django框架,如果当前环境中没有可用的话。

    接下来我们进行Django工程的相关设置:

    

    单击OK,设置完成。


新工程解析

  5、工程目录结构

    正如上面所说,工程的根目录结构已经创建完成,主要包含基本的框架配置文件和目录,当你创建其他类型的工程时也会有类似操作,如Pyramid, 或者Google App Engine。

    接下来我们研究如何在Project窗口中显示工程结构。

  6、Project窗口中的目录结构

    这是默认显示模式。窗口中将会显示的结构有polls(Application Name)和 MyDjangoApp(Project Name)目录,当然还有两个Python文件:manage.py 和 settings.py

    在这个窗口中你是无法看到.idea目录结构的。

    

  7、Project窗口下的工程文件

    如果你想看到 idea目录,只需选择view Project Files模式,这个视图所显示的文件和之前一样,只是多了idea目录:

    

    Ok,回到之前的视图模式。

  8、Project窗口中所显示的文件都是干什么用的?

(1)untitled目录是工程的容器,在窗口中以加粗字体显示。

(2)manage.py是一个命令行文件,帮助你操作你的Django工程,详见product documentation

(3)嵌套子目录 MyDjangoApp 充当了当前工程的库 

(4)MyDjangoApp/_init_.py是一个空文件,用来指示当前目录应该作为一个库来使用。

(5)MyDjangoApp/settings.py包含了当前工程的相关设置configuration for your Django project

(6)MyDjangoApp/urls.py包含了当前工程响应的url信息URL declarations for your Django project

(7)MyDjangoApp/wsgi.py定义了WSGI兼容模式下Web服务器的入口,详见How to deploy with WSGI

(8)polls目录下包含了完善Django应用的所有文件(此时为空):

    polls/_init_.py指示当前目录应该作为一个库来使用

    polls/models.py保存我们所创建的应用程序模型

    polls/views.py保存我们的views

(9)templates为空,用以包含响应的模板文件

    值得一提的是你可以创建很多Django应用,通过运行manage.py文件的startapp任务来将其添加到当前工程中(主菜单上的Tools→Run manage.py task)命令。


数据库配置

  9、配置数据库

    根目录生成后,我们需要做一些微调。打开文件settings.py(选中后按F4)。

    首先确定准备在应用程序中使用哪种数据库。

    可以通过以下方法定位DATABASES变量:按下Ctrl+F,

    然后在搜索栏中输入需要查找的字符串,

    然后在'ENGINE'行的冒号后边输入使用的数据库管理系统(这里暂且设置为sqlite3)。

    在'NAME'行,输入预定义数据库的名称(无论其是否已经存在):

  

  10、加载Django服务

    由于我们在这里处于谨慎选择了sqlite3数据库。因此这里无需再定义其他变量(如用户证书、端口号、POST文件等)。

    接下来我们核实一下我们的设置是否正确,做法相当简单,至于要加载并运行 manage.py文件:按下Ctrl+Alt+R,在弹出的消息框中输入任务名称:

    

  11、创建一个模型

    接下来,打开并编辑(open for editing)models.py文件,注意此时Pycharm已经实现导入好了相关库,然后键入以下代码:

    

    事实上直接对上述代码进行复制粘贴即可,不过这里推荐大家手动输入以体会Pycharm强大的拼写提示功能:

    

  12、创建一个数据库

    接下来我们需要为新建模型添加一个表单。再次使用Ctrl+Alt+R快捷键:

    (1)首先从提示列表中选择sql,然后选择预期的应用名称:

    

    这条命令会为当前类自动添加SQL声明:

    

    

    (2)在提示列表中选择syncdb语句,在提示列表中进行列表的创建,显示结果如下:

    

  13、完善管理控制函数

    由于我们需要对应用进行账户管理,Pycharm已经在urls.py文件中定义好了相关命令。

    然而,我们需要编辑函数的admin功能。在polls文件夹下创建一个admin.py的文件(Alt+Ins),然后输入一下代码:

    

    再次展示一下Pycharm强大的拼写提示功能:

    


创建MVC

  14、运行与调试

    现在我们准备前往admin界面进行一些设置了。当然,我们很可能需要先运行Django服务,进入对应文件目录,在地址栏输入完整的URL地址。

    不过这里Pycharm提供了一个轻量级的修改方法:Django server run configuration

    单击主工具栏的 run/debug configurations选项来进入调试配置模式,然后选择Edit Configuration(或者在主菜单中选择Run→Edit Configurations):

    

    在 Run/Dug Configuration dialog box对话框中,输入配置方案名称(这里为myapp)、默认的浏览器(勾选Run browser选项),个性化定制我们的节点界面:

    

  15、加载用户界面

    加载并运行这个应用,按下Shift+F10或者主工具栏中的run按钮,打开标准的administration页面,而且必须登录。接下来你可以创建一些polls并为其制定相应的问题及候选项:

    

  16、创建视图链接

    接下来我们准备为应用添加一些子视图,让它拥有"index"、"details"、"results"、"votes"等子页面。首先,我们向urls.py文件中添加这些子页面的模式(在Project窗口中选中该文件然后按F4):

    

    这些模式所涉及的页面目前还并不存在,因此需要手动向其中添加一些方法并进行模板关联,这些操作在Pycharm的帮助下会变得异常简单:

    你只需将鼠标指针悬停在一个未定义(Pycharm会高亮显示那些unresolved reference的代码),这是会亮起一个黄色的小灯泡,这就意味着Pycharm在此准备了一个快速提示,单击小灯泡(或者按下Alt+enter):

    

    选择Create Django view method选项来在views.py文件中创建一个视图的成员方法,并与特定的模板文件相关联。

    接下来我们会看到以下变化:

    templates目录不再为空,其中包含了我们创建的根模板文件。

    views.py文件中已经包含了根视图的相关方法。

    

    除了添加了view的相关方法外,Pycharm还自动导入的Django中的相关操作,并用render_to_response来标记。

    注意view method名称左侧的图标,可以通过该图标来查看该方法对应的模板。可以通过Create template<name>命令在快速创建视图以及对应模板,接下来我们向其中写入代码。

    例如我们希望看到polls的可用列表,打开views.py,输入以下代码:

    

    Pycharm会给出快捷的拼写提示:

    

    完成后将会有如下显示:

    

  17、创建模板

    接下来我们向模板中添加一些代码。打开index.html文件,输入模板代码。这里需要注意的是大括号一定要成对出现,当你输入{%,Pycharm会在输入光标的后面自动添加另一个括号。这里你可以通过Ctrl+Space来进行拼写提示。

    

    当需要输入HTML类型标签时,PyCharm同样设计了帮助系统:

    Ctrl+Space调用拼写提示功能。

    当输入一个括号时,会自动生成另一个括号以进行匹配

    接下来拟至于一步一步晚上你的模板代码,最终结果如下:

    

  18、大功告成

    让我们核实一下polls的变量列表,发现我们的admin能够正常使用,并且能够在地址栏中显示对应的URL地址(/admin/, type /polls/):

    

    单击以查看详细信息:

    


代码部署

  (1) 部署配置

  4、配置一个部署服务器

    单击主工具栏中的设置按钮来打开Settings/Preferences对话框,选择 Deployment页面(也可以通过主菜单上的Tools→Deployment→Configuration命令来完成)。

    单击绿色加号,在Add Server对话框中,输入服务器的名称(MyRemoteServer)并指定其类型(此处选择Local or mounted folder):

    

    此时已经添加了一个新的服务器,但其内容为空。它只显示了Web服务的根域名(http://localhost),你需要在其中上传你的文件。

  5、如何定制 连接表单

    选择上传文件的所在目录,这里为本地目录C:\xampp\htdocs(既可以手动输入,也可以通过Shift+Enter快捷键来打开Select Path对话框进行输入),详见 product documentation

    

  6、如何定制 映射表单

    接下来,选择Mappings tab,其中的Local path栏默认包含了工程根目录。当然你可以选择你的工程树中的任意目录,这里我们使用它的缺省值。

    在Deployment path栏中(缺省值为空),需要定义服务器所在文件夹,将来Pycharm会从Local path文件夹向其中上传文件。这里选择为C:\xampp\htdocs。

    最后在 Web path on the server MyRemoteServer栏中使用其缺省值:

    

    OK,保存设置,服务可用。

  7、浏览远端主机

    你需要简单的确认一下你的服务器是否已上线并正常运行。打开Remote Hosts tool window(位于PyCharm窗口的右边缘):

    

    当然,也可以通过Tools→Deployment→Browse Remote Hosts菜单命令来打开这个窗口。

  (2)部署操作

  9、上传

    首先,向远端服务器上传文件,做法如下:

      在 Project tool window窗口中,右击待上传的文件,这里为Solver.py。

      在弹出的快捷菜单中,选择Deployment→Upload to MyRemoteServer,观察上载结果:

    

    当然我们也可以上传工程目录下的所有文件。

    例如,右击Solver.py文件所在父目录(src),在快捷菜单中选择Upload to MyRemoteServer,就能够将目录下的所有文件上传到服务端:

    

    

  10、远程、本地版本比较

    此时再远程服务端和本地服务端都有一份Solver.py文件,它们是完全相同的。此时切换到本地视图。

    做法很简单,将光标定位在函数声明语句上,按下Ctrl+Alt+Shift+T(或者主菜单上的Refactor→Refactor This命令):

    

    如你所见,快捷菜单中列出了当前文本下可用的所有代码重构,我们这里选择Rename refactoring,并且rename a method

    

    单击Do Refactor,观察函数名称以及用法的改变。

    此时我们已经对一个本地版本进行了更改,接下来我们需要做的就是让Pycharm接收到这些更改。

    再次进入Project tool window,右击Solver.py文件,在快捷菜单中选择Deployment→Compare with Deployed Version on MyRemoteServer。

    Pycharm会打开differences viewer for files对话框,在这里你可以通过shevron按钮来核对所做的改变:

    

    更多信息参见product documentation

  11、下载

    右击Solver.py,选择Deployment→Download from MyRemoteServer,Pycharm会立即给出警告提示:
    

    不必惊慌,直接单击Continue即可:

    

    对应的你也可以下载整个目录下的文件,前提是这些文件已经上传完成。例如,右击父目录src,执行相同操作,即会自动下载目录中所有嵌套文件。

    然而如果你试图下载一个还未上传的文件,Pycharm会给出下载失败的提示:

    

  12、同步机制调整

    首先需要进行一步准备工作,就是将对Solver.py文件所做的更改撤销(Ctrl+Z),此时会再次看到Solver.py文件中类的成员函数重构名称。

    接下来右击Solver.py,选择Deployment→Sync with Deployed to MyRemoteServer,Pycharm弹出 differences viewer for folders窗口,在这里你可以通过shevron按钮来核对所做的单独改变:

    

    当然也可以对整个文件夹进行同步操作。例如右击node_modules选择Deployment→Sync with Deployed to MyRemoteServer,此时会在左窗口中显示node_modules文件夹中的内容,但右侧窗口为空,因为该目录下的文件并未上传到服务端。我们可以在此处进行上传。选择待同步的文件,单击工具栏上的按钮:

    

  13、自动上传至缺省服务器

    当用户需要在服务端使用与Pycharm工程中完全相同的文件时,自动上传功能就显得很用帮助。自动上传功能意味着无论在IDE中对代码进行了何种改变,Pycharm都会自动将其保存在已部署的默认的服务端。

  14、将服务器指定为缺省服务器

    缺省服务器的最大优点就是可以使用自动上传功能,指定方法如下:

    (1)在Deployment page页面上选择一个服务器。有两种打开Deployment page页面的方法:

      要么使用Settings/Preferences→Deployment菜单命令,

      要么使用Tools→Deployment→Configuration菜单命令。

    (2)在server configurations列表中,单击缺省按钮:

    

  15、启用自动上传功能

    设置完缺省服务器之后,接下来就是开启自动上传功能。做法如下:

    (1)首先,打开Options部署选项(主菜单中的Settings/Preferences→Deployment→Options 或者 Tools→Deployment→Options命令),在Upload files automatically to the defaylt server选项中选择Always,或者On explicit save action选项:

    

    以上两个选项之间的差别详见 in the field description

    (2)第二步,勾选主菜单Tools→Deployment→Automatic upload复选框,注意此时的automatic apload选项已经处于Always的模式:

    

    值得一提的是,我们并不推荐在发布的产品中使用Always模式,避免我们在部署过程中不经意上传了未开发完整的代码,从而破坏了产品的稳定性。

  16、上传外部更改

    默认情况下Pycharm只上传文件自身的更改情况,如果我们通过其他途径对文件进行了更改,例如通过VCS branch、transpilation of SASS 或者 LESS or a File Watcher进行的更改,Pycharm是不会将这些更改自动上传的,为了保证这些更改也能顺利上传,需要启用Upload external changes功能:

    


调试JAVA脚本

  1、总览

  对于Web开发而言,调试Java脚本是十分重要的。为了显示Pycharm对于Java脚本的强大调试能力,我们这里创建一个非常简单的脚本,用以展示一些简单的浏览器页面,然后在服务器上对其进行调试。

  为了能够在外部服务器上进行调试,需要在上面运行程序文件,同时在你的电脑上拷贝一份。不过没关系,无论Web服务器是运行在物理远端还是运行在你的电脑上,其中的应用程序都可以看成是一个远程服务程序。

  当一个使用JavaScript生成的远程文件打开时,调试器会告诉Pycharm当前处理文件的名称以及对应的行号。

  Pycharm会打开本地副本并定位到相应的行。

  Pycharm的这种行为使得服务端和客户端的文件进程保持同步。这种通信机制成为映射(mapping),在debug配置文件中保留了相关的设置信息。

  2、准备工作

  (1)Pycharm版本为3.0或者更高。

  (2)使用谷歌浏览器(这篇教程是基于谷歌Chorme的)

  (3)你已经安装了JetBrains IDE Support外部插件。如果你是第一次加载调试器,Pycharm会给出你关于安装JetBrains IDE Support外部插件的重要性。

  举个例子,对于浏览器,当在地址栏的右侧显示图标,并且非透明,说明插件已经安装并且成功激活。

  可以在https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji下载和安装JetBrains IDE Support外部扩展。

  建议使用XAMPP作为服务端程序(文章是针对XAMPP的)。

  3、创建一个简单的工程

  在主菜单中选择File→New Project,选择一个空工程,命名为MyJSProject:

  

  在一个独立的窗口中打开这个工程:

  

  4、实例准备

  首先,创建一个HTML file。在工程管理窗口中按下Alt+Insert,在弹出的快捷菜单中选择HTML文件类型,命名为numbers:

  

  Pycharm会在生成的HTML文件中添加一些原始内容。接下来,向其中嵌入一个JavaScript文件,在<body>标签下输入一下代码:

  

  在输入代码时注意体会Pycharm的拼写提示功能:

  

  完成后,注意文件名numbers.js以高亮的形式给出。这说明当前的JavaScript文件不存在。在将光标定位在名称“numbers”上,按下Alt+Enter(或者单击左侧的小黄色灯泡);会给出快捷提示——创建一个缺省文件:

  

  通过这个快捷方法,已将创建好了原始的JavaScript文件,接下来输入下面代码:

  

   5、设置断点

  接下来在JavaScript文件中插入断点,非常简单,在右侧单击即可:

  

  6、配置服务器

  7、创建一个服务器

  打开Settings/Preferences对话框(Ctrl+Alt+S或者单击主菜单的设置按钮),单击Deployment page页面的绿色的加号,将服务器命名为MyRemoteServer,指定类型为local or mounted server。

  8、配置映射连接

  接下来配置创建的服务器。在Connection选项卡中,输入需要加载的本地文件的目录,这里为C:\xampp\htdocs,也就意味着将从这个目录来上传本地文件:

  

  单击Mappings选项卡,在这里定义本地路径,服务器的部署路径(与Connection选项卡的设置相同),以及服务器的Web路径:

  

  9、定义项目的默认服务器

  指定创建的服务器为当前项目的默认服务器,只需在Deployment toolbar中单击按钮。

  10、预览服务器

  接下来需要确认我们的服务程序能够在Pycharm的可视化窗口中顺利上传和运行。在主菜单中选择Tools → Deployment → Browse Remote Hosts。远程Host控制窗口会显示当前新开启的服务:

  

  11、向服务器应用中部署文件

  在Pycharm中这个操作非常简单。在主菜单中选择Tools → Deployment → Upload to MyRemoteServer,确保新目录C:\xampp\htdocs已经在服务器上顺利创建。

  

  另一种方式可以通过右击文件,在快捷菜单中进行操作。当然二者都需要通过Upload to MyRemoteServer命令来完成。

  12、调试

  13、开始调试

  开始调试后,将会在浏览器中显示你的HTML页面,同时调试窗口 Debug tool window开启。应有程序会在命中第一个断点的时候停止,并用蓝色标记代码行:

  

  更多有关断点的信息参见product documentation中的Breakpoints部分。

  对应用程序进行更为深入的调试,相关的调试信息会显示在调试窗口以及浏览器上:

  

  单击控制代码的调试进程,通过关闭黄色标志或者单价Cancel按钮来终止调试。

[Python] Create a Django project in Pycharm的更多相关文章

  1. Start Your Django Project in Nginx with uWsgi

    Step 0:Install A,B,C,blabla needed This can be seen in my another article in the blog.click here(una ...

  2. python web框架 django 用pycharm 添加django项目

    用pycharm 创建django项目 用pycharm 启动django  用项目名启动 点击蓝色连接的url 直接跳转到页面 修改 运行django 程序 设置  可以改端口 可以在创建djang ...

  3. Python Web框架——Django

    返回顶部 使用框架简单快速开发特定的系统. pip freeze > requirements.txt pip install -r requirements.txt 一 MVC和MTV模式 二 ...

  4. python终极篇 --- django 初识

    1. 下载: 命令行: pip install django==1.11.15 pip install -i 源 django==1.11.15 pycharm settings 解释器 点+号 输入 ...

  5. Python攻关之Django(一)

    课程简介: Django流程介绍 Django url Django view Django models Django template Django form Django admin (后台数据 ...

  6. python框架之django

    python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django temple django models ...

  7. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  8. 第六篇:web之python框架之django

    python框架之django   python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django te ...

  9. Python自动化开发 - Django基础

    本节内容 一.什么是web框架 二.MVC和MTV视图 三.Django基本命令 四.路由配置系统 五.编写视图 六.Template 七.ORM 一.什么是web框架 对于所有的web应用,本质上其 ...

随机推荐

  1. 设想 Docker 下部署 KVM

    设想 Docker 下部署 KVM 一.安装 $ yum -y install kvm # kvm base , must $ yum -y install libvirt -y # libvirtd ...

  2. 关于《精通移动App测试实战:技术、工具和案例》图书勘误信息

    首先,对由于我们工作的疏忽向<精通移动App测试实战:技术.工具和案例>读者朋友们表示歉意,同时已将这些问题反馈给了出版社编辑同志,再版时将会统一修正: 其次,勘误信息请参看附件pdf文档 ...

  3. mssql 获取表空间大小

    create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_ ...

  4. 解决方案: scp/ssh 的登陆提示很慢 (Linux)

    看着用 windows 的 scp 命令很快很是羡慕. 这个问题让我实实郁闷了好几天. 在 Linux 下不管是用 ssh 还是用 scp, 连接速度都很慢 (登陆提示框的弹出时间). 确切地讲, 每 ...

  5. ADB工具包15秒快速安装器,已集合ADB、FASTBOOT工具箱和最新的驱动程序

    http://www.cnroms.com/adb-and-fastboot-toolkit-with-google-usb-drivers.html 通过电脑管理安卓手机需要的三个最常用的工具包集合 ...

  6. ibatis返回map列表

    ibatis返回map列表 1. resultClass="java.util.HashMap"   <select id="queryCustmerCarNoBy ...

  7. golang全文搜索--使用sphinx

    不多废话,测试环境 `ubuntu 13.10` ## 安装 sudo apt-get install sphinxsearch ## 配置 nano /etc/sphinxsearch/sphinx ...

  8. RabbitMQ学习笔记3-使用topic交换器

    topic的路由规则里使用[.]号分隔单词,使用[*]号匹配1个单词,使用[#]匹配多个.和多个*. 在下面的例子中: logger.*可以匹配logger.error和logger.warning, ...

  9. Castle.ActiveRecord (V3.0.0.130)

    为项目添加 Castle.ActiveRecord 的引用: 安装成功后,查看项目的引用如图: 配置文件 App.Config (MySQL) <?xml version="1.0&q ...

  10. HTML5新特性之WebSocket

    1.概述 HTTP协议是一种无状态协议,服务端本身不具有识别客户端的能力,必须借助外部机制,比如session和cookie,才能与特定客户端保持对话.这多多少少带来一些不便,尤其在服务器端与客户端需 ...