Python开发Web应用

2024-03-29 01:45:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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

有谁能告诉我,我们应该走什么样的道路,以便使同样的事情变得容易?我读到了JQuery,相信在计算世界里有很多类似的工具,但是哪种组合最合适。。容易相处。


Tags: 代码图像框架web应用程序ui网页html
3条回答

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

阅读1)HTML,2)CSS,3)JavaScript 4)PHP

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

我认为这有助于讨论,因为它有助于我使Python成为web上的佼佼者。

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

Are there any libraries which makes Python work like PHP. I mean embed into HTML something like

您询问的是一个模板库,用于构建html、css、javascript、sql或其他任何东西。我已经找了一个工具来做这件事,找到了CogCheetah以及谷歌向你抛出的其他大部分东西。我的灵感来自于我在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:
&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

你会看到,它与白色间距有些混淆,我已经缩短了输出,因为每个{{块生成一个换行符。它可以在template.py模块中编辑,因为它具有非常可读的代码,符合PEP8。

TL;博士: 下面是单个文件中示例代码的链接: http://pastie.org/4776120 以及template.py模块:http://pastie.org/4775988

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

在服务器端,Django现在非常流行。它相当强大,背后有一个非常活跃的社区。我建议你看看Django tutorial。对于客户端来说,jQuery非常流行,并且有一个巨大的社区支持它。有很多,很多教程-只有谷歌“jQuery教程”。

如果你对CSS不是很在行(听起来你可能不在行),那么我个人推荐一个基于网格的CSS框架。他们让你更容易找到一个看起来专业的网站。有了响应性框架,您就可以获得准移动的额外好处。有很多。其中包括一份原件Grid 960,但还有很多。这里有一个相当好的blog post对其中16个。

至于控件/小部件,有几个可供选择。jQueryUI很好,很受欢迎。虽然没有那么流行,Dojo仍然是一个很好的退房选择。ExtJS很好,但不是免费的。名单上还有。。。是的,等等。你可能只想选一个有良好社区背景的人来学习。

相关问题 更多 >