Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用用户输入作为参数运行.py脚本_Python_Html_Django_Web - Fatal编程技术网

Python 如何使用用户输入作为参数运行.py脚本

Python 如何使用用户输入作为参数运行.py脚本,python,html,django,web,Python,Html,Django,Web,我有一个.py文件,上面写着“car.py”。它需要3个输入(颜色、品牌、年份)。它接受用户输入并读取一个文件,然后返回输入中给定的颜色、品牌和年份的所有匹配实例。这个脚本运行良好 现在,我想创建一个像搜索页面一样工作的网页。它请求3个输入,搜索文件(本地)并返回结果 我第一次使用Django,我很难弄清楚如何调用car.py文件并在返回结果之前在后台运行它 我制作了一个html界面,但我知道我不能在其中引用python脚本。在Django有类似的东西吗?我可以引用一个脚本,当按下一个按钮时,它

我有一个.py文件,上面写着“car.py”。它需要3个输入(颜色、品牌、年份)。它接受用户输入并读取一个文件,然后返回输入中给定的颜色、品牌和年份的所有匹配实例。这个脚本运行良好

现在,我想创建一个像搜索页面一样工作的网页。它请求3个输入,搜索文件(本地)并返回结果

我第一次使用Django,我很难弄清楚如何调用car.py文件并在返回结果之前在后台运行它

我制作了一个html界面,但我知道我不能在其中引用python脚本。在Django有类似的东西吗?我可以引用一个脚本,当按下一个按钮时,它会在给定用户输入的情况下运行该脚本


我不希望得到一个完整的编码回复,我只希望得到一个澄清或对答案的引用。我在网上找不到类似的东西

我想把我关于如何用Django提交表单的回复移到这里,而不是评论,因为这现在更像是一个答案

提交表单时,通常会将POST请求发送到包含表单值的网站。因此,当我说表单将提交到route时,我的意思是POST请求将发送到Django网站中的特定视图,该视图基本上可以是您的car.py文件,只需做一些更改。这是一个表单,它可以接受你想要的三个输入,这是一个视图,基本上可以是你的“car.py”,和

您的观点的一个粗略示例:

def search_view(request):
    if request.method == 'POST':
        form = SearchForm(request.POST)

        if form.is_valid():
            # process the data with your code from "car.py"
            # render your results page
            return render(request, 'results.html')
    # if a GET (or anything else) just render the same search page again
    else:
        form = SearchForm()
    return render(request, 'search.html', {'form': form})

SearchForm()可以是您希望用户提供的任何值。

是否尝试在不重新加载/更改当前页面的情况下进行此搜索?在这种情况下,使用Javascript或其他运行搜索的异步选项可能是正确的。如果您不介意加载一个新页面,您可以创建一个表单,提交给运行搜索并显示结果的路由/端点?你能在PHP中处理form post并从中执行一个shell命令,以用户输入作为参数运行脚本吗?@Andrew Zick,页面可以重新加载。表单将如何提交到路由/端点?你能再详细一点吗?