невозможно интегрировать небольшой скрипт в приложение django / python ... вы можете объяснить, как работает urls.py? - PullRequest
0 голосов
/ 15 июня 2011

Я не программист, но я написал несколько вещей в php / mysql.Так что я разбираюсь в программировании, но не могу понять логику приложений django ... а python так странно сложен!Пожалуйста, помогите мне решить небольшую проблему, с которой я столкнулся.

Мой сценарий прост, он отображает случайное предложение.ничего необычного!

Итак, я:
random-quotes.py ->

import random

#Random
def random_quotes (request, template_name='header.html'):
    quotes = ["\"There are always two people in every picture: the photographer and the viewer.\"",
              "\"My portraits are more about me than they are about the people I photograph.\" <br><span class=\"author_span_style\">~ Richard Avedon</span>"]
    pick_quote = quotes[random.randint(0, len(quotes) - 1)]
    return render(request, template_name, {
                                           'random_quote': pick_quote,
                                           }) 

header.html -->

{{ random_quote }}

urls.py ->

url(r'^$', app.random-quotes.random_quotes, name='random_quotes'),

Этот URL-адрес совершенно странен для меня.Мне пришла в голову мысль, что он сопоставляет вызов шаблона с файлом "action".Но подробности и причины меня просто избегают!

Во всяком случае, я использовал структуру URL из существующего приложения django (где я интегрировал небольшой скрипт)

Итак, приложение. [Random-quotes].{random_quotes} [это имя файла] и {это имя функции}

app.Я не уверен, но я думаю, относится к подпапке в моем приложении Django.Я догадался, что это будет приложение.как и в urls.py, я обнаружил ссылку на файлы в этой папке.

По какой-то странной причине скрипт не работает, он ничего не отображает ... поэтому я предполагаю, что проблема должна бытьпервая часть r '^ $' и тот факт, что я не указал URL.

, пожалуйста, помогите мне понять эту концепцию ...

1 Ответ

2 голосов
/ 15 июня 2011

Учебное пособие дает отличное объяснение того, что здесь происходит.

Короче говоря, любой URL, который соответствует регулярному выражению в urls.py, будет сопоставлен с указанной функцией в views.py. views.py выполнит любую необходимую логику и загрузит шаблон (если указан).

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