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