如何在Django中插入单独的Python脚本

时间:2018-01-19 06:57:56

标签: django python-3.6

我在Python中创建了一个webscraper,现在我想将这个文件插入到views.py中,并使用在HTML页面上创建的HTML按钮执行它们。

我的刮刀名称是maharera.py,它保存在我保存views.py的同一个文件夹中

我的views.py看起来像这样:

from django.shortcuts import render
from django.conf.urls import url
from django.conf.urls import include
from django.http import HttpResponse
# Create your views here.

def index(request):
    first = {"here":"will enter more details"}
    return render(request, "files/first-page.html", context=first)
    #return HttpResponse("<em>Rera details will be patched here</em>")    

在views.y中插入后,我想使用我创建的HTML HTML来执行该文件。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

问题的实际答案

让我们说maharera.py的内容如下

def scrapper(*args, **kwargs):
    #the scrapper code goes here

然后您需要在views.py文件

中按如下方式导入它
from django.shortcuts import render
from django.conf.urls import url
from django.conf.urls import include
from django.http import HttpResponse
# Create your views here.
import maharera

def index(request):
    first = {"here":"will enter more details"}
    return render(request, "files/first-page.html", context=first)
    #return HttpResponse("<em>Rera details will be patched here</em>") 

def scrapper_view(request):
    maharera.scrapper()
    return HttpResponse("<em>Scrapper started</em>") 

建议不要通过像这样的http请求运行网络剪贴簿。 Http请求应该在几分之一秒内返回响应,并且不应该花费很长时间。

当您点击scrapper_view时,它将开始执行其中的代码。在scrapper视图中,有一个对scrapper的调用,我们不知道该函数结束需要多长时间。直到该功能没有结束,页面的响应将不会返回给用户。

对于如此长时间运行的任务,您应该查看任务队列。 展望celery