我正在尝试使用Python作为后端自学开发Web应用程序。由于我来自C ++背景,我发现难以构建网页(设计/实现)和与之相关的后端代码 - 创建CSS,HTML代码,包括图像,表格等。我读到了http://webpy.org/框架但没有还是用过它。实际上我有点困惑如何使用Python开发一个很棒的UI页面 - 比如页面有多个选项卡,配色方案,下拉框,列表,图形和其他UI组件/小部件 - 以及与之关联的后端代码。
任何人都可以让我知道我们应该走哪条道路,这样可以轻松实现同样的目标吗?我读到了JQuery并且相信在计算世界中有很多可用的工具,但哪些组合最好,并且易于使用。
答案 0 :(得分:10)
您无法在浏览器中运行python。因此,对于Web开发,它只在服务器端使用。实际上,它的全部目的是强制执行您的业务逻辑并为您的站点生成标记。然后客户端技术(HTML5 +浏览器,Javascript和CSS)接管。
在服务器端,Django现在非常受欢迎。它非常强大,并且背后有一个非常活跃的社区。我建议您查看Django tutorial。对于客户端来说,jQuery非常受欢迎,并且背后有一个巨大的社区。有很多很多教程 - 只是google" jQuery教程"。
如果你对CSS不是很好(听起来你可能不是这样),那么我个人会推荐一个基于网格的CSS框架。它们使得获得专业外观的网站变得更加容易。通过响应式框架,您可以获得准移动启用的额外好处。有一堆他们。包括其中一个原件Grid 960,但又有很多。这里有16个非常好blog post。
对于控件/小部件,有几个可供选择。 jQueryUI非常受欢迎。虽然不那么受欢迎,Dojo仍然是一个很好的选择。 ExtJS很好,但不是免费的。这个名单继续...... YUI等等。你可能只想选择一个有良好社区背后的人来学习它。
答案 1 :(得分:2)
我认为这有助于讨论,因为它帮助我在使Python成为网络方面做得很好。
Metalfan,我看到你在聊天时问:
是否有任何库使Python像PHP一样工作。我的意思是嵌入 进入像
这样的HTML
你问的是一个模板库来构建html,css,javascript,sql或其他任何东西。我已经搜索了一个工具来做到这一点,并找到了Cog,Cheetah以及谷歌抛出的大部分内容。我受到Django的启发,它给模板处理对象和基本上整个语言的访问权限,而不仅仅是进行宏扩展。 Web2py有一个模块可以做到这一点,我发现它很容易修改或独立使用。我不记得我是否对我正在使用的so I've uploaded the version原版进行了任何修改,所以它应该是开箱即用的。
要从模板生成代码,请包含模板模块,并使用模板(字符串)和上下文(包含本地环境的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()}}
....它给出了这个输出:
<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
当你看到它与白色间距混淆时,我已经缩短了输出,因为每个{{block生成一个换行符。它可以在template.py模块中编辑,因为它具有符合PEP8的非常易读的代码。
<强> TL; DR: 以下是单个文件中示例代码的链接: http://pastie.org/4776120 和template.py模块:http://pastie.org/4775988
答案 2 :(得分:-5)
首先,检查[w3schools.com] [1],
继续阅读1)HTML,2)CSS,3)JavaScript 4)PHP
如果您真的想快速构建Web应用程序,我建议您选择php over python,因为php专门用于构建动态Web应用程序。