Python开发Web应用程序

Python开发Web应用程序,python,Python,我正在尝试自学使用Python作为后端开发Web应用程序。由于我来自C++背景,所以在构建网页(设计/实现)和与之相关的后端代码时发现困难——创建CSS、HTML代码,包括图像、表格等。我阅读了框架,但尚未使用它。实际上,我有点困惑如何使用Python开发一个优秀的UI页面——比如有多个选项卡、颜色方案、下拉框、列表、图形和其他UI组件/小部件的页面——以及和之相关联的后台代码 谁能告诉我,我们应该走什么样的道路,这样才能使同样的事情变得容易?我读过关于JQuery的书,并且相信在计算世界中有很

我正在尝试自学使用Python作为后端开发Web应用程序。由于我来自C++背景,所以在构建网页(设计/实现)和与之相关的后端代码时发现困难——创建CSS、HTML代码,包括图像、表格等。我阅读了框架,但尚未使用它。实际上,我有点困惑如何使用Python开发一个优秀的UI页面——比如有多个选项卡、颜色方案、下拉框、列表、图形和其他UI组件/小部件的页面——以及和之相关联的后台代码


谁能告诉我,我们应该走什么样的道路,这样才能使同样的事情变得容易?我读过关于JQuery的书,并且相信在计算世界中有很多类似的工具,但是哪种组合最合适,而且。。易于使用。

您不能在浏览器中运行python。因此,对于web开发,它只在服务器端使用。实际上,它的全部目的是加强您的业务逻辑并为您的站点生成标记。然后客户端技术(HTML5+浏览器、Javascript和CSS)接手

在服务器端,Django现在非常流行。它非常强大,背后有一个非常活跃的社区。我建议你看一下这本书。对于客户端来说,jQuery非常受欢迎,它背后有一个巨大的社区。有很多很多教程,只有谷歌的“jQuery教程”

如果你对CSS不是很好(听起来你可能不是),那么我个人推荐一种基于网格的CSS框架。他们让你更容易找到一个专业的网站。有了响应性框架,您将获得准移动功能的额外好处。有很多。包括一份原件,但同样有很多。这是一个相当不错的16个


至于控件/小部件,有几种可供选择。很好,很受欢迎。虽然不那么受欢迎,但它仍然是一个不错的选择。是好的,但不是免费的。而且这个名单还在继续。。。YUI等。您可能只想选择一个有良好社区支持的网站并学习它。

首先,请查看[w3schools.com][1]

阅读1)HTML、2)CSS、3)JavaScript和4)PHP


如果你真的想快速构建web应用程序,我建议你选择php而不是python,因为php是专门为构建动态web应用程序而设计的。

我认为这有助于讨论,因为它帮助我让python成为web上的佼佼者

Metalfan,我看到你在聊天中问:

有没有使Python像PHP一样工作的库。我是说嵌入 转换成HTML,类似于

您需要一个模板库来构建html、css、javascript、sql或其他任何内容。我已经搜索了一个工具来实现这一点,并且找到了谷歌向你抛出的大部分东西。我的灵感来自于我在Django中所做的工作,它使模板处理可以访问对象,基本上可以访问整个语言,而不仅仅是进行宏扩展。 有一个模块可以做到这一点,我发现它很容易修改或单独使用。我不记得我是否对我正在使用的原版做过任何修改,所以它应该是开箱即用的

要从模板生成代码,需要包括模板模块,并使用模板(字符串)和上下文(包含本地环境的dict)调用render函数。像这样:

from template import render
import urllib2

environment = dict(
    elements=[1, 2, 3],
    username="mortn",
    session_id="xyz",
    lam=lambda x=0: urllib2.urlopen("http://google.com").read(),
    f=f,
    )

print render(content=html_template, context=environment)
然后,模板将如下所示:

<html>
 <h1>Hello {{= username }}</h1><br/>
 {{ if session_id=="xyz": }}
 {{   # indentation doesn't matter.. }}
   this isn't printed unless if-statement matches
 {{ else: }}
   instead this would be shown
 {{ pass  # each if/for/while statements (that would 
 {{       # "indent your code"), must end with pass }}
 {{ for e in elements: }}   - {{=e}}
 {{ pass }}
 {{ # demo of looping }}
 {{ if 1: }} 
 {{ for i in xrange(10): }}<br/>{{ pass }}
 {{ pass }}
 {{ # imported function }}
 100 chars of google html get:
 {{ =lam()[:100] }}
 {{ # you can access the whole language with this }}
 {{ =f()}}

你好{{=username}}
{{如果会话_id==“xyz”:} {{{缩进没关系。} 除非语句匹配,否则不会打印此内容 {{else:}} 相反,这将显示出来 {{通过#每个if/for/while语句 {{#“缩进您的代码”),必须以pass}结尾 {{对于元素中的e:}}-{{=e} {{pass}} {{{#循环演示} {{if 1:}} {{for i in xrange(10):}}
{{pass} {{pass}} {{{#导入函数}} 100个字符的google html获取: {{=lam()[:100]} {{{#您可以使用此}访问整个语言} {{=f()}}
…它给出了这个输出:

<html>
 <h1>Hello mortn</h1><br/>
   this isn't printed unless if-statement matches
    - 1
    - 2
    - 3
   <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
100 chars of google html get:
&lt;!doctype html&gt;&lt;html itemscope=&quot;itemscope&quot;itemtype=&quot;http://schema.org/WebPage&quot;&gt;&lt;head&gt;&lt;meta itemprop
you can do whatever

你好,莫顿
除非语句匹配,否则不会打印此内容 - 1 - 2 - 3













100个字符的google html获取: !doctype htmlhtml itemscope=“itemscope”itemtype=”http://schema.org/WebPage“头元道具 你可以做任何事
正如您将看到的,它与白色间隔有点混乱,我缩短了输出,因为每个{{块生成一个换行符。它可以在template.py模块中编辑,因为它有非常可读的代码,符合PEP8

TL;DR: 以下是单个文件中示例代码的链接:
还有template.py模块:

我不确定这个问题是否真的是关于堆栈溢出的话题,但我要提到的是,您所谈论的所有优秀UI内容,如多个选项卡、颜色方案、下拉框、列表、图形等,都与您用Python编写的内容无关。所有这些都是用HTML、CSS和Javascript完成的。开发Web App使用Python-UI界面/组件非常重要。因此,编写Python web应用程序时,我们也需要了解这些?换句话说,了解Python我们无法创建好的网页-为此,我们需要学习HTML、CSS和JavaScript?@Prakash:先学逻辑,然后再学演示。当然,您可以在不使用JS的情况下构建web应用程序,我建议您这样做每个网站都应该为启用Javascript的用户提供服务。也就是说,你需要了解一些HTML和CSS,但它们不是编程语言,而是描述应用程序输出的基本结构化方式。@Prakash正确,你至少需要了解一些基本的HTML和CSS。一个好的起点是,它提供了n HTML、CSS、JavaScript等。我知道无论我使用PHP、Python还是任何后端平台,我都需要学习和理解HTML/CSS