@pydjango
Django

Полезная информация и правила: https://github.com/amureki/django_faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

1741 members

Архив канала @pydjango 13 декабря 2016 г.

03:58:32 ДП
User 175775933
User 18500084
а проще переписать на нормальном php
Это стеб?)) Мне принципиально php не хочется брать для реализации проекта одного, считаю что django лучше справиться, для реализации интерфейса выдачи задач пользователю!
06:36:18 ДП
User 261260366
User 230952777
Привет всем, кто чего может посоветовать по django для обучени?)
https://www.youtube.com/user/CodingEntrepreneurs/playlists
youtube.com/channel/UCWEHue8kksIaktO8KTTN_zg
Coding for Entrepreneurs is a Programming Series for Non-Technical Founders. Learn Django, Python, APIs, Accepting Payments, Stripe, JQuery, Twitter Bootstra...
07:35:49 ДП
User 18500084
User 175775933
Это стеб?)) Мне принципиально php не хочется брать для реализации проекта одного, считаю что django лучше справиться, для реализации интерфейса выдачи задач пользователю!
Разумеется, стёб. Предлагаемые по задаче решения напомнили мне php-style, почему б не перейти на него, раз удобно. :)
03:00:10 ПП
User 135467237
Доброго времени суток! Уменя проблемка может кто поможет. Просто не могу понять, почему не не видит bootstrap
03:00:54 ПП
03:03:13 ПП
User 119702721
User 135467237
Скорее всего тебе нужно убрать /static из пути.
03:05:52 ПП
03:06:36 ПП
User 135467237
не помогло
03:07:43 ПП
User 111616579
попробуй в STATICFILES_DIRS в конце к static добавить слэш
03:07:53 ПП
03:08:01 ПП
User 111616579
мне как-то помогло однажды
03:09:59 ПП
User 111616579
а, и в html Максим правильно подсказывает, /static убрать надо, чтобы было так: {% static 'js/bootstrap.min.js' %}
03:13:43 ПП
03:14:43 ПП
User 88127526
а DEBUG true или false?
03:14:55 ПП
User 88127526
и как запускаешь?
03:15:19 ПП
User 211270198
User 135467237
Проверь путь
03:15:28 ПП
User 211270198
Он ведет не в тот static
03:15:54 ПП
User 111616579
User 135467237
можно попробовать вот так:
STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static/'),
]
03:16:34 ПП
User 88127526
ну и в STATICFILES_DIRS не обязательно добавлять, если апп есть в INSTALLED_APPS и в STATICFILES_FINDERS есть AppDirectoriesFinder
03:17:04 ПП
User 88127526
вообще вручную указывать пути вот так дурное занятие
03:17:21 ПП
User 135467237
я их копирую просто
03:17:25 ПП
User 135467237
это ж не деплой
03:17:45 ПП
User 135467237
и я прост пробую для учебных целей
03:24:41 ПП
User 135467237
ещ ёвот что пишет
03:24:42 ПП
User 135467237
This inspection highlights unresolved file references in string literals of 'extends' and 'include' Django tags.
03:27:19 ПП
User 135467237
я схитрил он у меня static в общем корне не видит, я css и js папки в static в приложении пока скинул
03:27:28 ПП
User 135467237
и теперь он их видит
03:27:39 ПП
User 135467237
но почему в корне папку не видит
03:29:56 ПП
User 224473640
мне нужно добавить настройки, которые обязательны только для web, и не нужно их использовать при manage.py shell, как такое реализовать?
03:36:29 ПП
User 119702721
User 224473640
мне нужно добавить настройки, которые обязательны только для web, и не нужно их использовать при manage.py shell, как такое реализовать?
Разделить на разные settings.py файлы?
04:08:22 ПП
User 61043901
User 135467237
но почему в корне папку не видит
Потому что PyCharm-y нужно "сказать" где папка с темплейтами находится 😂
Что вы опять тут городите?
04:09:11 ПП
User 61043901
Пкм на папке темплейтов -> Make directory as -> Templates
04:10:35 ПП
User 211270198
User 61043901
Пкм на папке темплейтов -> Make directory as -> Templates
А причем тут темплейты?
04:11:27 ПП
User 61043901
Стоп, а, бля, сори, спросонья не обратил внимание что там статика
04:11:36 ПП
04:11:38 ПП
User 135467237
все правильно
04:11:41 ПП
User 135467237
помогло
04:12:05 ПП
04:12:16 ПП
User 211270198
User 135467237
помогло
Не это помогло)
04:12:25 ПП
User 211270198
А то что ты все скопировал
04:12:45 ПП
User 135467237
Всмысле
04:13:24 ПП
User 61043901
Это помогло показывать подсказки к пути темплейтов, но не статике.
04:15:12 ПП
User 135467237
не, бутстрап тоже начал подгружаться из статики в корне
04:15:20 ПП
User 135467237
До этого не подгружался
05:01:04 ПП
User 120578100
Есть спецы по джанге? Как мне заэкстендить collectstatic? Нужно впилить кастомный компилятор для статики, чтобы помимо сборки, потом ещё и запускался мой компилятор
05:05:25 ПП
User 119702721
User 120578100
Есть спецы по джанге? Как мне заэкстендить collectstatic? Нужно впилить кастомный компилятор для статики, чтобы помимо сборки, потом ещё и запускался мой компилятор
https://github.com/beaugunderson/django-gulp/blob/master/django_gulp/management/commands/collectstatic.py
github.com/beaugunderson/django-gulp/blob/master/django_gulp/management/commands/collectstatic.py
django-gulp - 🔧 override runserver and collecstatic to run gulp tasks
05:08:41 ПП
User 120578100
Спс, только я так пробовал,  чё та не перезаписало команду.  Попробую ещё разочек)))
06:01:47 ПП
User 227690605
Вечер добрый. Есть вопрос, на странице есть 2 формы, данные отправляются на разные юрлы аяксом, при отправке с первой формы все ок, при отправке второй  ругается на csrf токен. Разметка выглядит примерно так 
<form1>{% csrf_token %}</form1>
<form2>{%csrf_token%}</form2> Правильно ли приписывать токен для второй формы или на странице он должен быть один? Либо после отправки пост запроса Аяксом 1 формы нужно генерить новый csrf и отдавать его в httpresponse?
06:06:08 ПП
User 119702721
Если правильно помню, то csrf токен достаточно долго не меняется.
06:07:06 ПП
User 119702721
Прописывать можно сколь угодно. Он ещё и в куках висит такой же.
06:10:24 ПП
User 227690605
Тогда в моём случае нужен скорее всего новый токен генерить, поскольку выкидывает ошибку 403 на второй форме и в том и в том случае
06:11:08 ПП
User 261260366
http://stackoverflow.com/questions/31866435/django-csrf-token-for-multiple-forms-and-ajax-requests-on-a-single-page
stackoverflow.com/questions/31866435/django-csrf-token-for-multiple-forms-and-ajax-requests-on-a-single-page
My website has a single page with 2 forms and 3 ajax-based POST calls. I have used csrf_token in one of the forms. Also, to be able to perform csrf-safe ajax calls, I am using the guidelines posted...
06:18:33 ПП
User 227690605
Спс,возможно проблема в другом, буду разбираться
06:20:25 ПП
User 146494977
User 227690605
Вечер добрый. Есть вопрос, на странице есть 2 формы, данные отправляются на разные юрлы аяксом, при отправке с первой формы все ок, при отправке второй  ругается на csrf токен. Разметка выглядит примерно так 
<form1>{% csrf_token %}</form1>
<form2>{%csrf_token%}</form2> Правильно ли приписывать токен для второй формы или на странице он должен быть один? Либо после отправки пост запроса Аяксом 1 формы нужно генерить новый csrf и отдавать его в httpresponse?
In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure:
Your browser is accepting cookies.
The view function passes a request to the template's render method.
In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.
The form has a valid CSRF token. After logging in in another browser tab or hitting the back button after a login, you may need to reload the page with the form, because the token is rotated after a login.
06:20:42 ПП
User 146494977
In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
06:26:50 ПП
User 227690605
Если у меня первая форма ссылается на функцию в которой прописана авторизация, я не смогу без перезагрузки страницы отправить данные со второй формы?
06:28:52 ПП
User 227690605
Или я что-то не так понял
06:30:38 ПП
User 261260366
т.е. формы доступны и анонимусам?
06:33:52 ПП
06:36:21 ПП
User 107485588
Один токен оставь
06:36:36 ПП
User 107485588
Он не обязательно внутри формы может быть
06:37:42 ПП
User 227690605
Это я понял, но ошибка осталась
06:37:55 ПП
User 107485588
Как вариант можешь воспользоваться декоратором ensure_csrf_cookie и отдельным урлом для получения токена
06:38:26 ПП
User 107485588
А ты аяксом когда отправляешь, ты хедер ставишь?
06:38:40 ПП
User 107485588
X-csrf-cookie
06:42:49 ПП
User 227690605
Не понял вопроса. Запрос примерно такой: type: post, 
url: ...,
data: { csrfmiddlewaretoken: *csrf значение инпута*,
....
}
06:43:31 ПП
User 227690605
Ну и ниже success
06:43:37 ПП
06:52:48 ПП
User 107485588
и сейчас у тебя один такой инпут?
06:53:02 ПП
User 107485588
и в обеих запросах стоит значение из него?
07:35:02 ПП
User 119702721
User 227690605
Не понял вопроса. Запрос примерно такой: type: post, 
url: ...,
data: { csrfmiddlewaretoken: *csrf значение инпута*,
....
}
Для проверки сравни, тот же самый ли csrf-токен у тебя в куках. Я для ajax-запросов обычно из кук брал токен.
08:52:50 ПП
User 378433
User 227690605
Не понял вопроса. Запрос примерно такой: type: post, 
url: ...,
data: { csrfmiddlewaretoken: *csrf значение инпута*,
....
}
а разве такой должен быть параметр?
08:53:03 ПП
User 378433
для аякса проверяется хидер x-csrftoken
09:02:45 ПП
User 107485588
User 378433
для аякса проверяется хидер x-csrftoken
там походу и так и так можно
09:02:57 ПП
User 107485588
просто имхо с хедером все проще
09:03:25 ПП
User 378433
неможно
09:03:40 ПП
User 378433
джанга если видит XHR - то проверяет заголовок
09:04:19 ПП
User 378433
https://docs.djangoproject.com/en/1.10/ref/csrf/#ajax
09:14:52 ПП
User 107485588
User 378433
неможно
# Check non-cookie token for match.
            request_csrf_token = ""
            if request.method == "POST":
                try:
                    request_csrf_token = request.POST.get('csrfmiddlewaretoken', '')
                except IOError:
                    # Handle a broken connection before we've completed reading
                    # the POST data. process_view shouldn't raise any
                    # exceptions, so we'll ignore and serve the user a 403
                    # (assuming they're still listening, which they probably
                    # aren't because of the error).
                    pass

            if request_csrf_token == "":
                # Fall back to X-CSRFToken, to make things easier for AJAX,
                # and possible for PUT/DELETE.
                request_csrf_token = request.META.get(settings.CSRF_HEADER_NAME, '')
09:15:02 ПП
User 107485588
из CsrfViewMiddleware