Как вызвать скрипт Python (.py) по ссылке на веб-странице DJango? - PullRequest
0 голосов
/ 20 марта 2019

Все,

Я только начал изучать python и django, и мне было интересно, есть ли способ вызвать скрипт python (Test.py) по ссылке на странице django.До сих пор я создал проект 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», котораяберет меня на сайт питона.Тем не менее, я ищу способ добавить ссылку на эту страницу django, которая будет вызывать мой скрипт «Test.py», когда вы нажимаете «Сказать».Я сделал несколько визуализаций в этом сценарии с некоторыми макетированными данными, которые я хотел бы видеть на моей веб-странице.Это может быть что-то очень простое, но я не мог найти способ сделать это.Буду признателен за любые рекомендации.

Пожалуйста, дайте мне знать, если я что-то пропустил или у вас есть какие-либо предложения для меня, когда я отправлю любой вопрос в следующий раз.

1 Ответ

1 голос
/ 20 марта 2019

Вы почти никогда не хотите вызывать скрипты Python непосредственно в Django. Фактически, единственный скрипт 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")

Просто не забудьте удалить это исключение перед отправкой вживую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...