Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 14, 2017 05:01:44

roggerg
Зарегистрирован: 2015-03-12
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по Джанго

Пытаюсь решить задачу из курса Web Технологи на Степике
Нужно отобразить вопрос который находится по
URL
/question/5

Мой urlpaterns приложения выглядит так

 urlpatterns = [
    url(r'^question/(?P<pk>\d+)/$', views.question, name='question_text'),
]

функция question из вьюшки
 def question(request, pk):
    id = request.GET.get(pk)
    t = Question.objects.get(id)
    return render(request, 'question.html', {
        'title': t.title,
        'text': t.text
    })
Проверяю работу приложения на локальном компе,
Получаю ошибку

Type error

И далее смотрю параметр GET

<WSGIRequest: GET ‘/question/1/’>

Т.е. получается что “1” не захватывается в переменную pk, и там находится выражение
pk='/question/1/'
что логично и приводит к ошибке type error.
Что я сделал не так?

Офлайн

#2 Дек. 14, 2017 05:30:53

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по Джанго

roggerg

roggerg
Что я сделал не так?
Практически все
1) За чем вы вы пытаетесь получить pk из реквеста, если это - агрумент функции? Он уже есть, зачем его еще откуда-то получать?
2) Question.objects.get(id)
Это у вас не сработает

 def question(request, pk):
    t = Question.objects.get(id=pk)
    return render(request, 'question.html', {
        'title': t.title,
        'text': t.text
    })



Офлайн

#3 Дек. 15, 2017 02:23:44

roggerg
Зарегистрирован: 2015-03-12
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по Джанго

FishHook
roggerg
Спасибо, все заработало как надо.

Офлайн

#4 Дек. 17, 2017 18:33:24

John_Rain
Зарегистрирован: 2017-12-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по Джанго

Ребята, я новенький. Чтобы не флудить в корне форума, можно я здесь о своем вопросе поинтересуюсь? У меня вопрос как раз о python + django
Суть такая, я сам не программист. Заказал сайт опытному человеку. Заплатил нормально. Сайт до конца еще не доделан, но работает. Вопрос: Правильно ли просить у исполнителя исходники? Я так понимаю Python интропретируемый язык, по идеи все труды закидываются на хостинг без компеляции. Значит ли это что имея доступ до файлов на хостинге у меня есть все исходники или этого не достаточно? Мне важно иметь страховку на случай если мой программист вдруг откажется или не сможет продолжать или поддерживать проект и мне придется искать другого исполнителя

Офлайн

#5 Дек. 18, 2017 00:53:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос по Джанго

John_Rain
Я так понимаю Python интропретируемый язык, по идеи все труды закидываются на хостинг без компеляции. Значит ли это что имея доступ до файлов на хостинге у меня есть все исходники или этого не достаточно?
Исходники тоже по-разному можно сделать. Можно сделать так, что всё будет работать, но в исходниках не разберёшься. Да и они могут быть ужасными сами по себе, даже не специально сделанными в таком виде. По крайней мере когда какие-нибудь готовые плагины открываешь к браузеру или ещё какие-нибудь такие программки с открытым исходным кодом, там такой бардак, что лучше было и не открывать, потому что автор чисто для себя код писал и лишь бы работало.



Отредактировано py.user.next (Дек. 18, 2017 00:54:33)

Офлайн

#6 Дек. 18, 2017 06:54:55

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Вопрос по Джанго

Значит ли это что имея доступ до файлов на хостинге у меня есть все исходники
Значит.

Офлайн

#7 Дек. 18, 2017 12:48:03

John_Rain
Зарегистрирован: 2017-12-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по Джанго

py.user.next
для себя код писал и лишь бы работало
Это понятно. Так всё-же, имея доступ до хостинга, до папки с сайтом, мне не нужны исходники? Другому программисту на python этого будет достаточно? Или есть что-то без чего я не смогу продолжить работу?

Офлайн

#8 Дек. 18, 2017 13:23:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос по Джанго

John_Rain
Так всё-же, имея доступ до хостинга, до папки с сайтом, мне не нужны исходники?
По-разному может быть. Можно из исходников сделать свалку, которая будет понятна лишь компьютеру. А чтобы дорабатывать программу, нужны нормально написанные исходники.

Вот пример исходников, которые прекрасно работают
https://yastatic.net/www/_/9/q/bn1iJy4ikfp2ZikJTLboMVeB8.js
Возьми, доработай.

И это ещё просто для оптимизации сделано (всё склеено в одну строку, чтобы быстрее загружалось), а можно ещё обфусцировать исходники. Это вот когда вирусы прячут от антивирусов, применяют к исходнику вируса программу, которая его запутывает специально. Ну и к работадателю можно применить, вдруг он там платить откажется или уволит просто так ни за что. Вроде сайт работает, всё нормально, человек уходит и нормальные исходники уносит с собой, а ты даже об этом не знаешь. Но когда тебе нужно будет его доработать или баг поправить, твой новый специалист залезет туда, а там куча мусора, в которой непонятно, где и что. И всё, и будет он заново всё писать.

Да даже если они в нормальном виде, развёрнутая программа не равна исходному коду, из которого она развёрнута. У меня исходники в виде шаблонов лежат в проекте, и каждый раз, чтобы поставить их, я их собираю. А при сборке в них проставляется лицензия, потом дата текущая, версия текущая (во все места, во все закоулки). Это через m4 сделано, поэтому у меня в каждом исходнике во всех нужных местах стоит всегда только актуальная информация. Если мне надо почтовый адрес для обратной связи поменять во всей программе, я просто меняю его в одном месте и при следующей сборке новый адрес проставится во все десятки исходных файлов, и в каждом файле ещё может быть несколько таких мест.

Это я к тому, что наличие исходников ещё ничего не значит, потому что там ещё проект надо обслуживать правильно.



Отредактировано py.user.next (Дек. 18, 2017 13:38:52)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version