首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >可以在没有像Django和Flask这样的框架的情况下,使用HTML和CSS运行python脚本吗?如果是这样的话,是怎么做的?

可以在没有像Django和Flask这样的框架的情况下,使用HTML和CSS运行python脚本吗?如果是这样的话,是怎么做的?
EN

Stack Overflow用户
提问于 2019-11-26 16:32:31
回答 2查看 729关注 0票数 0

可以在没有像Django和Flask这样的框架的情况下,使用HTML和CSS运行python脚本吗?如果是这样的话,是怎么做的?

当一个按钮被单击时,我正在尝试运行一个python脚本,并返回一个输出以显示在屏幕上。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2019-11-26 16:41:38

好的,Django和Flask为你做了所有的HTTP处理,所以你不需要手动去做。尽管如往常一样,在Python中,你可以用one liner的方式做很多事情。

您可以使用SimpleHTTPServer

CHeckout这个答案:Single Line Python Webserver

票数 0
EN

Stack Overflow用户

发布于 2019-11-26 17:17:33

您可以使用所谓的cgi-bin脚本。Apache和NGINX都可以提供cgi-bin脚本,但是NGINX需要一个外部模块来处理(例如FastCGI)。Apache已经内置了这个(尽管,我怀疑,也是作为一个模块)。

How to run CGI scripts on Nginx为例,查看NGINX的配置。这个示例介绍了如何运行Perl脚本,但这一点并不重要。然而,这是一个相对复杂的配置。

这是另一个答案,这次是How to run cgi script on apache server,带有针对Apache的示例。同样,使用的语言并不那么重要,Python将尽可能重要。

然后,CGI脚本本身可以用任何语言(shell、Python、Perl、C、Go或任何您喜欢的语言)编写-它所要做的就是确保其输出格式正确,输出的第一行指定内容类型,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Content-type: text/html

<html>
<head>
    <title>test page generated by CGI script</title>
</head>

<body>
    <h1>boo hoo!</h1>
</body>
</html>

生成上述代码的Python脚本示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python
#
# Example Python CGI script generating static HTML

HTML = \
"""
<html>
<head>
    <title>test page generated by CGI script</title>
</head>

<body>
    <h1>boo hoo!</h1>
</body>
</html>
"""

def generate_html(html):
    print('Content-type: text/html\r\n')
    print(html)


if __name__ == '__main__':
    generate_html(HTML)

显然,这个脚本没有做任何有用的事情,但是您可以让它做一些其他的事情,并提供适当的HTML输出。

然后,您可以将python文件设置为可执行文件(chmod 755 generate_html.py),还可以选择将其重命名为.cgi扩展名(这是这些文件的传统命名方式;mv generate_html.py generate_html.cgi),并将其放置在web服务器的cgi-bin目录中(我假设您的web服务器根目录为/var/www,cgi-bin目录为/var/www/cgi-bin/ -这是您需要放置generate_html.cgi文件的位置)。

最后,您的标准index.html (放在www文档根目录中,例如/var/www/html)可以像下面这样简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
<head>
    <title>main page</title>
</head>

<body>
    <p><a href='/cgi-bin/generate_html.cgi'>Do something</a></p>
</body>
</html>

如果一切都配置正确,您应该会看到Python脚本的输出(一个带有大大的单词的HTML页面),而不是脚本本身的源代码。

免责声明

这会带来安全隐患,特别是如果其他用户可以更改cgi脚本的内容,因为这些脚本在系统上运行,并且具有与运行web服务器应用程序或cgi网关进程的用户相同的访问权限。确保您了解环境中的全部含义。

TL;DR

你可以在没有Flask、Django或任何其他框架的情况下运行Python脚本作为cgi-bin脚本。Apache和NGINX都支持这一点,但配置可能会更复杂一些。不知道你能节省多少时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59055454

复制
相关文章
WPF依赖属性(wpf 依赖属性)
依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。
全栈程序员站长
2022/07/28
2.2K0
WPF依赖属性(wpf 依赖属性)
学习WPF——初识依赖项属性
入门 首先创建一个依赖项属性 然后绑定父容器的DataContext到这个依赖项的实例 接着绑定子元素的属性到依赖项属性(注意Button的Content属性) 程序最终的运行结果: 说明 首先是定义
liulun
2018/01/12
9400
学习WPF——初识依赖项属性
[翻译] WPF 中用户控件 DataContext/Binding 和依赖属性的问题
ProgrammingDude(asked Dec 8, 2015 at 21:24)
独立观察员
2022/12/06
9840
WPF 依赖属性绑定不上调试方法
在写 WPF 程序的时候会遇到依赖属性绑定了,但是值没有更新或者没有绑定上的问题,本文告诉大家可以如何调试
林德熙
2020/07/06
1.7K0
WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了
如果你写了一个 MarkupExtension 在 XAML 当中使用,你会发现你在 MarkupExtension 中定时的属性是无法使用 XAML 绑定的,因为 MarkupExtension 不是一个 DependencyObject。
walterlv
2020/02/10
1.7K0
WPF面试题-来自ChatGPT的解答
问题来自【愚公系列】2023年07月 WPF控件专题 2023秋招WPF高频面试题[1],回答站长通过ChatGPT重新整理,可对比两者区别学习、整理。
沙漠尽头的狼
2023/08/31
4510
WPF面试题-来自ChatGPT的解答
WPF 调试依赖属性变更方法
在 WPF 里面,所有的依赖属性都有带通知的功能,通过带通知的功能,可以在通知里加上断点,通过调用堆栈了解是哪个模块调用的
林德熙
2022/08/12
4070
在 WPF 中获取一个依赖对象的所有依赖项属性
本来 .NET 中提供了一些专供设计器使用的类型 TypeDescriptor 可以帮助设计器找到一个类型或者组件的所有可以设置的属性,不过我们也可以通过此方法来获取所有可供使用的属性。
walterlv
2023/10/22
4120
[UWP]依赖属性2:使用依赖属性
以上代码为一个相对完成的依赖属性例子(还有一些功能比较少用就不写出了),从这段代码可以看出,自定义依赖属性的步骤如下:
dino.c
2019/01/18
1.4K0
C# WPF MVVM开发框架Caliburn.Micro 关于Conventions⑧
Caliburn.Micro的一个主要特性是,它能够通过一系列约定消除对锅炉铭牌代码的需求。有些人喜欢习俗,有些人讨厌习俗。这就是为什么CM的约定是完全可定制的,如果不需要,甚至可以完全关闭。如果您要使用约定,并且由于它们在默认情况下处于启用状态,那么最好了解这些约定是什么以及它们是如何工作的。这就是本文的主题。
用户9127601
2022/01/13
2.8K0
WPF依赖属性的正确学习方法
我在学习WPF的早期,对依赖属性理解一直都非常的不到位,其恶果就是,我每次在写依赖属性的时候,需要翻过去的代码来复制黏贴。
Kiba518
2019/07/25
2K0
WPF依赖属性的正确学习方法
当css属性width设为100%时
  平常在写页面html代码时,经常会使用到width:100%来使控件宽度为父控件的内容宽度。但如果父控件为body,而且没有明确设置body的宽度,那么就会出现以下的情况了。   代码: 1 <body> 2 <div style="background:#888;width:100%;height:200px"> 3 <div style="width:1000px;height:100px;margin:0 auto;border:solid 1px red"></div> 4 </di
^_^肥仔John
2018/01/18
1.4K0
当css属性width设为100%时
win10 uwp DataContext
本文告诉大家DataContext的多种绑法。 适合于WPF的绑定和UWP的绑定。 我告诉大家很多个方法,所有的方法都有自己的优点和缺点,可以依靠自己喜欢的用法使用。当然,可以在新手面前秀下,一个页面一个绑定方法。
林德熙
2018/09/19
8730
win10 uwp DataContext
win10 uwp DataContext
本文告诉大家DataContext的多种绑法。 适合于WPF的绑定和UWP的绑定。 我告诉大家很多个方法,所有的方法都有自己的优点和缺点,可以依靠自己喜欢的用法使用。当然,可以在新手面前秀下,一个页面一个绑定方法。
林德熙
2022/08/04
5060
win10 uwp 依赖属性
本文告诉大家如何使用依赖属性,包括在 UWP 和 WPF 如何使用。 本文不会告诉大家依赖属性的好处,只是简单告诉大家如何使用。
林德熙
2018/09/19
8390
win10 uwp 依赖属性
如何在保留原本所有样式/绑定和用户设置值的情况下,设置和还原 WPF 依赖项属性的值
WPF 备份某控件的一些属性,做一些神奇的操作,然后再还原这些属性。多么司空见惯的操作呀!然而怎么备份却是值得研究的问题。直接赋值?那一定是因为你没踩到一些坑。
walterlv
2023/10/22
2000
EXTJS7 publishes将配置属性发布到viewModel
此例中,虽然viewModel.data中有mycomponent-a: {prop1:xxx},但是textfield的绑定是无效的
路过君
2022/04/26
3620
WPF自学入门(十)WPF MVVM简单介绍
   前面文章中,我们已经知道,WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制,当数据发生变化时,WPF会自动发出通知去更新UI。
黄昏前黎明后
2019/08/26
2.5K0
WPF自学入门(十)WPF MVVM简单介绍
Xamarin 和 WPF 的控件和属性的替换
基本上 Xamarin 和 WPF 的技术是相同的,但是有一些小细节和属性不同,本文记录一些不同的点,方便小伙伴将 WPF 项目迁移为 Xamarin 项目
林德熙
2020/02/18
1.6K0
2018-10-28-WPF的只读依赖属性
依赖属性的概念大家应该都很清楚,那么什么是只读依赖属性呢? ---- 为何要用只读依赖属性 当某些时候,你的依赖属性只是为了表征一种多因素影响的复合状态。这种状态不适合由外部显示设置。比如常见的IsMouseOver,当且仅当这个属性由鼠标输入设备进行内部赋值时,结果才是有效的。而在于外部进行赋值时,其值和相应的真实设备状态是不一致的。 只读依赖属性的局限 由于不可设置,只读依赖属性会被限制众多解决方案,如数据绑定,验证,动画,继承等等。 只读依赖属性的用法 由于仍可以在属性发生改变时引发通知,只读依赖属
黄腾霄
2020/06/10
6120

相似问题

WPF:无法绑定到用户控件中的依赖项属性

11

绑定到用户控件的WPF依赖项属性

11

WPF -绑定到用户控件依赖项属性失败

12

Wpf用户控件依赖项属性绑定

10

绑定到用户控件WPF/XAML的依赖项属性

46
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文