如何从DJango网页上的链接调用python(.py)脚本?

时间:2019-03-19 21:05:26

标签: python django

全部

我刚刚开始学习python和django,我想知道是否可以通过django页面上的链接调用python脚本(Test.py)。到目前为止,我已经创建了一个django项目(TestDjango),并且这些文件位于该文件夹中:

__init__.py
settings.py
urls.py
views.py
Test.py

到目前为止,这是我在views.py脚本中所拥有的:

from django.http import HttpResponse

def index(request):
return HttpResponse('''<h1>Test</h1> 
    <p>
    <!-- <a href = "https://www.python.org/"> Python </a> </br> -->
    </p>
    '''

在我的urls.py中,我这样称呼它:

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name ='index'),
]

当我在服务器上运行它时,我得到一个简单的页面,其标题为“ Test”和一个可单击的“ Python”链接,可将我带到python网站。但是,我正在寻找一种在该django页上添加链接的方法,该链接在您单击时说“ Test”时将调用我的“ Test.py”脚本。我在脚本中做了一些可视化处理,并提供了一些我想在网页上看到的模拟数据。这可能很简单,但是我找不到解决方法。任何指导将不胜感激。

当我下次发布任何问题时,请让我知道我是否想念任何东西或任何建议。

1 个答案:

答案 0 :(得分:1)

您几乎永远都不想直接在Django中调用python脚本。实际上,通常运行的唯一python脚本是wsgi.py。那会从所有其他脚本中调用函数和类。因此,每当您要执行某种操作(例如,当用户单击站点上的链接时调用脚本)时,都需要在其中一个views.py文件中创建一个视图,然后将该视图注册到urls.py文件中,以便当用户点击前面提到的网址,它们会激活您编写的视图。

views.py

from django.http import HttpResponse

def index(request):
    return HttpResponse('''
        <h1>Test</h1> 
        <p>
            <a href="https://www.python.org/"> Python </a> </br>
            <a href="/test/"> Python </a> </br>
        </p>
    ''')

def test(request):
    return HttpResponse("test")

urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name ='index'),
    path('test/', views.test, name ='test'),
]

如果您想在某个时间在测试视图中查看回溯,请执行以下操作:

def test(request):
    some_variable = 1
    raise Exception(some_variable)
    return HttpResponse("test")

只记得在直播之前删除该异常。