全部
我刚刚开始学习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”脚本。我在脚本中做了一些可视化处理,并提供了一些我想在网页上看到的模拟数据。这可能很简单,但是我找不到解决方法。任何指导将不胜感激。
当我下次发布任何问题时,请让我知道我是否想念任何东西或任何建议。
答案 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")
只记得在直播之前删除该异常。