Django Help:如何从文本框中获取文本数据并通过python脚本?

时间:2017-03-17 00:56:29

标签: python html django web

我正在创建一个Django Web应用程序,我想从HTML文本框中获取用户输入并通过python脚本运行它。当我从命令行输入文本时,脚本可以正常工作,但我希望能够让Web应用程序打印文本在通过脚本时发生的事情。

我已经制作了一个Django网络应用程序,当服务器运行时,会出现一个带有简单文本框和提交按钮的基本HTML页面(它是一个表单)。

我编写了一个单独的python脚本,它将接受用户输入(从命令行)并运行通过脚本输入的文本。

我如何能够使用HTML页面中的表单数据替换函数中的input()?

我想做的一个例子:

<form action="">
text: <input type="text" name="handle" value=""><br>
<input type="submit" value="Submit">
</form>

上面是一个带提交按钮的简单表单。当提交&#39;按下按钮,我希望该数据转到脚本:

import statements

def blah():
screenname = input('Enter your name here: ') 
output = screenname.functionA
print(output)

除了输入()替换为HTML文件中的表单数据。

我在哪里将python脚本存储在Django应用程序中?

如何将表单中的文本传递给python脚本?

感谢任何帮助,我试图一步一步地开发我的网页设计能力:)

2 个答案:

答案 0 :(得分:2)

让我们从表格开始。您需要将该表单发布到django视图:

<form method="POST" action="">
  <inputs here ...>
</form>

在您呈现该页面的视图中,您需要检查请求的方法以及是否为POST请求,然后将其传递给该函数。

def view_name(request):
  if request.method == "POST":
    screenname = request.POST.get("handle", None)  # handle is the name of the input in the question.
    # Here you can do anything with your screenname, like passing it to the function.
  return render(request, 'path/to/form.html', {})

现在关于将自定义脚本放在django中。一种方法是在app中添加utils.py脚本并在之前的代码中调用utils.blah(sreenname)。而不是print,您可以返回结果并显示它:

from app_name.utils import blah
def view_name(request):
  if request.method == "POST":
    screenname = request.POST.get("handle", None)
    result = blah(screenname)
    return render(request, 'path/to/result.html', {'result': result}
  return render(request, 'path/to/form.html', {})

答案 1 :(得分:0)

$app-color-eggplant: #232028;
$app-color-dust: #ABAAAF;
$app-color-off: #9B8BC6;
$app-color-shadow: #1A0438;

    //Primary Colors
    $color-primary                  : #472A93;
    $color-primary-darkest          : #212028;
    $color-primary-light            : #A596CC;


    //Secondary Colors
    $color-secondary                : #FF6601;
    $color-secondary-light          : #FFC19A;


    //Informational Colors
    $color-error                    : #DB4432;


    //Text Colors
    $color-text                     : #232028;
    $color-text-muted               : #797979;
    $color-text-light               : #D2D2D2;


    //Background Colors
    $color-background               : #cfd8dc;
    $color-background-dark          : #b0bec5;
    $color-background-darker        : #90A4AE;
    $color-background-light         : #EDEFF1;
    $color-background-table         : #c6c6c6;
    $color-background-table-lighter : #c6c6c636;