
Pavel
19.09.2017
04:47:32

Гийденко
19.09.2017
04:53:46
подскажите, как делать такой репозиторий?
https://github.com/pyQode
тут у всех репов есть типа неймспейс. после установки через pip для всех этих репов создается общая папка pyqode и все эти модули ставятся в неё уже без неймспейса, то есть получается так
- pyqode\
- core
- qt
- python
...
подозреваю что просто нашаманено в setup.py, но там из всего похожего нашел только namespace_packages=['pyqode']. МОэет это оно и есть?

ros
19.09.2017
04:54:14
3.5
apt-get install python3-dev python3-venv
python3 -m venv ~env
source ~env/bin/activate
pip install -U pip setuptools

Гийденко
19.09.2017
04:58:10
в самом начале скрипта написано from pyqode.core import __version__ что означает что он уже установлен как надо, разве нет?

Google

Гийденко
19.09.2017
05:39:43
фух, разобрался.
Вся хитрость в этих строчках
import pkg_resources
pkg_resources.declare_namespace(__name__)
это надо поместить внутри пакета в __init__.py
ну и в setup.py прописать неймспейсы, а так же правильную структуру каталогов


Михаил
19.09.2017
06:11:07
Господа не подскажете,есть ортрисованная форма
<h4> Номер тикета jira:{{ project.project_ticket_number }}</h4>
<p>Ссылка на репозиторий Backend:{{ project.backend_git_url }}</p>
<p>Cсылка не репозиторий Frontend:{{ project.frontend_git_url }}</p>
<p>ip стенда:{{ project.ip_project }}</p>
пытаюсь это все отправить во viwes <form action={% url 'start_stand' project.project_ticket_number project.backend_git_url project.frontend_git_url project.ip_project %} method="POST">{% csrf_token %}
def start_stand(request,project_id):
if request.method == "POST":
jira_num=str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
gurl=str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
furl=str(project.objects.values_list('frontend_git_url', flat=True).get(pk=project_id))
host_ip=str(project.objects.values_list('ip_project', flat=True).get(pk=project_id))
install_project(jira_num, gurl, furl, host_ip)
но install_project не принимает переменные,можете подсказать как правильно это делать?


Massimo
19.09.2017
06:14:18
Господа не подскажете,есть ортрисованная форма
<h4> Номер тикета jira:{{ project.project_ticket_number }}</h4>
<p>Ссылка на репозиторий Backend:{{ project.backend_git_url }}</p>
<p>Cсылка не репозиторий Frontend:{{ project.frontend_git_url }}</p>
<p>ip стенда:{{ project.ip_project }}</p>
пытаюсь это все отправить во viwes <form action={% url 'start_stand' project.project_ticket_number project.backend_git_url project.frontend_git_url project.ip_project %} method="POST">{% csrf_token %}
def start_stand(request,project_id):
if request.method == "POST":
jira_num=str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
gurl=str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
furl=str(project.objects.values_list('frontend_git_url', flat=True).get(pk=project_id))
host_ip=str(project.objects.values_list('ip_project', flat=True).get(pk=project_id))
install_project(jira_num, gurl, furl, host_ip)
но install_project не принимает переменные,можете подсказать как правильно это делать?
Dpaste.de


Михаил
19.09.2017
06:16:53
переделал на нормальную подсветку код
http://dpaste.de/NDmS html
http://dpaste.de/L20m views


Dan
19.09.2017
06:18:14
Господа не подскажете,есть ортрисованная форма
<h4> Номер тикета jira:{{ project.project_ticket_number }}</h4>
<p>Ссылка на репозиторий Backend:{{ project.backend_git_url }}</p>
<p>Cсылка не репозиторий Frontend:{{ project.frontend_git_url }}</p>
<p>ip стенда:{{ project.ip_project }}</p>
пытаюсь это все отправить во viwes <form action={% url 'start_stand' project.project_ticket_number project.backend_git_url project.frontend_git_url project.ip_project %} method="POST">{% csrf_token %}
def start_stand(request,project_id):
if request.method == "POST":
jira_num=str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
gurl=str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
furl=str(project.objects.values_list('frontend_git_url', flat=True).get(pk=project_id))
host_ip=str(project.objects.values_list('ip_project', flat=True).get(pk=project_id))
install_project(jira_num, gurl, furl, host_ip)
но install_project не принимает переменные,можете подсказать как правильно это делать?
а какие переменные он должен принять?
и зачем так сложно ?


Михаил
19.09.2017
06:18:32
<form action={% url 'start_stand' project.project_ticket_number project.backend_git_url project.frontend_git_url project.ip_project %} method="POST">{% csrf_token %} вот это
Reverse for 'start_stand' with arguments '(u'ADM-1001', u'url', u'url', u'10.40.2.11')' and keyword arguments '{}' not found. 1 pattern(s) tried: ['deploing/start_stend']
возвращает вот такую ошибку

Dan
19.09.2017
06:19:20
project.project_ticket_number
project.backend_git_url
project.frontend_git_url
project.ip_project
ты пытаешься впихнуть переменные в урл, так и задуманно ?

Михаил
19.09.2017
06:21:00
я пытаюсь их передать views http://dpaste.de/L20m , в голову пришло это сделать через url

Andrey
19.09.2017
06:21:00

Massimo
19.09.2017
06:21:22

Google

Dan
19.09.2017
06:21:37
те во первых ошибка да в том что ты пытаешься в урл патерн передать переменые с которыми он не знает что делать
во вторых во въюхе ты эти данные никак не принимаешь
в третьих логика во въюхе не совсем понятна
ты 4!!! раза получаешь один и тотже объект вытаскиваешь из каждого одно поле в виде массива массив приводишь к строке
а потом эту строку кудато передаешь дальше

Михаил
19.09.2017
06:25:49
ну я беру нужные значения из обьекта и передаю дальше скрипту который их принимает

Dan
19.09.2017
06:25:50
те в твоем случае
надо создать 4 инпута вида:
<input type="text" name="project_ticket_number" value="{{ project.project_ticket_number }}">
а во въюхе уже их принимать

Михаил
19.09.2017
06:26:40
а как во вьюхе их правильно принять?
для заполнения данными обьекта делал вот так http://dpaste.de/gBe1
но как передать уже существующий объект во view понять не могу
вот html
http://dpaste.de/zwcO


Dan
19.09.2017
06:29:09
этот код
jira_num = str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
gurl = str(project.objects.values_list('project_ticket_number', flat=True).get(pk=project_id))
furl = str(project.objects.values_list('frontend_git_url', flat=True).get(pk=project_id))
host_ip = str(project.objects.values_list('ip_project', flat=True).get(pk=project_id))
так будет правильнее
p = project.objects.get(pk=int(project_id))
jira_num = p.project_ticket_number
gurl = p.project_ticket_number
furl = p.frontend_git_url
host_ip = p.ip_project
http://dpaste.de/zwcO
<form action={% url 'add_stand' %} method="POST">{% csrf_token %}
{{ p_form }}
</form>
форма составлена не правильно
ты в имя пытаешься передать value
попробуй html поменять на то чтоя выше прислал

Михаил
19.09.2017
06:41:22
все спасибо вроде разобрался как это работает,зациклило мысль в голове)

Spacehug
19.09.2017
06:46:31
Ребят, кто Django Q щупал, скажите как вам оно? Стоит доверять и пускать в прод?

Serj
19.09.2017
06:47:41

Spacehug
19.09.2017
06:51:23
Нет, я про замену celery

Google

Spacehug
19.09.2017
06:51:34
Асинхронный планировщик и все дела

Pavel
19.09.2017
06:56:05
from django_q.tasks import async, result
ну так себе идея, переопределять ключевое слово

Spacehug
19.09.2017
06:56:47
as asyncf )

Pavel
19.09.2017
06:59:11


Andrey
19.09.2017
07:18:24
Сообщество, снова трабла. Делаю тесты на DRF. Мне надо сохранить вот такой вот JSON-чик:
{"name": "ToPython",
"content": {
"file_content": {
"name": "1Name",
"file": FILE
}
}
}
Без файла сделать запрос легче легкого. client.post(url, data, format='json'). Теперь, предполагаю, что надо делать как-то так client.post(url, data, format=''multipart"), но нет, ругается на
AssertionError: Test data contained a dictionary value for key 'fields', but multipart uploads do not support nested data. You may want to consider using format='json' in this test case.
Окей, думаю, прикола ради, ставлю обратно 'json':
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Что-то подсказывает, что меня послали. В самой вьюхе: parser_classes = (MultiPartParser, JSONParser,)
Как правильно передать файл в таком случае?
Файл создаю так:
stream = BytesIO()
image = Image.new('RGB', (100, 100))
image.save(stream, format='jpeg')
uploaded_file = SimpleUploadedFile("file.jpg", stream.getvalue(), content_type="image/jpg")


Михаил
19.09.2017
07:23:07
еще один тупой вопрос, как от сюда https://dpaste.de/JRQq#L1 html
правильно приять значение сюда https://dpaste.de/s0Hh#L1 views


ros
19.09.2017
07:39:40
Сообщество, снова трабла. Делаю тесты на DRF. Мне надо сохранить вот такой вот JSON-чик:
{"name": "ToPython",
"content": {
"file_content": {
"name": "1Name",
"file": FILE
}
}
}
Без файла сделать запрос легче легкого. client.post(url, data, format='json'). Теперь, предполагаю, что надо делать как-то так client.post(url, data, format=''multipart"), но нет, ругается на
AssertionError: Test data contained a dictionary value for key 'fields', but multipart uploads do not support nested data. You may want to consider using format='json' in this test case.
Окей, думаю, прикола ради, ставлю обратно 'json':
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Что-то подсказывает, что меня послали. В самой вьюхе: parser_classes = (MultiPartParser, JSONParser,)
Как правильно передать файл в таком случае?
попробовать
parser_classes = (JSONParser, MultiPartJSONParser,)


Andrey
19.09.2017
07:41:42
Т.к. MultiPartJSONParser нет такого.
Но я писал, что использую это

ros
19.09.2017
07:43:20
мля он окастомное
ща
import json
from rest_framework.parsers import MultiPartParser
class MultiPartJSONParser(MultiPartParser):
def __assign_recursive(self, value, obj, parts):
key = parts.pop()
try:
key = int(key)
except ValueError:
pass
if len(parts) == 0:
obj[key] = value
else:
self.__assign_recursive(value, obj[key], parts)
def parse(self, stream, media_type=None, parser_context=None):
data_and_files = super(MultiPartJSONParser, self).parse(stream, media_type, parser_context)
data = json.loads(data_and_files.data.get('json', "{}"))
for key, value in data_and_files.files.items():
key_parts = key.split('_')
key_parts.reverse()
self.__assign_recursive(value, data, key_parts)
return data


Rookie
19.09.2017
07:44:45
Гайз. Вопрос. Имею аяксовую форму во всплывающем окне, и обработку ошибок полей в маленьком окошке (типа уведомлений вк).
Чекаю пустые поля циклом, и желаю выводить пустое поле (его имя) в маленьком окошке. Не могу оставить изначальное окно по ряду причин. То есть, модальное окно формы пропадает после запроса.
Реализовал так. Сильно ли это ублюдски?((
z = {}
z.update(request.POST)
del (z['password1'], z['password2'])
for k in z:
if request.POST[k] == '':
data = 'Поле %s не может быть пустым' % \
dict([(x.name, x.verbose_name) for x in AuthorizedClients._meta.fields])[k].capitalize()
return HttpResponse(json.dumps(data), content_type='application/json')
Сорри за формат(

Igor
19.09.2017
08:11:52
Привет. Подскажите пакет для джанго 1,7 для генерации sitemap-ов. Спасибо))

BlastPy
19.09.2017
08:12:33
уже в дефолте есть
https://docs.djangoproject.com/en/1.11/ref/contrib/sitemaps/#initialization

Google

Igor
19.09.2017
08:13:20
Спб, уже смотрю))

Ahmed
19.09.2017
08:42:13
Ребята, как поля в django models называлась которая не изменяется?

Anton
19.09.2017
08:43:17
Снова нужна помощь. В админке Django отсутствует пункт "Пользователи". Как вернуть?

Ahmed
19.09.2017
08:44:17
Возможно это атрибут такой
Я уже не помню точно, подскажите то помнит

Serj
19.09.2017
08:46:03

Anton
19.09.2017
08:46:08
Это можно сделать в атрибуте виджета поля формы disabled
Пример использования в моем случае:
https://pastebin.com/6Rcdpii0

BlastPy
19.09.2017
08:52:12
Ребят есть у кого линк на golang канал в телеграм ? Можно англояз. Спасибо

xPushkin
19.09.2017
08:55:12
@gogolang
@proGO

BlastPy
19.09.2017
09:17:46
спасибо

Ahmed
19.09.2017
09:42:15
Я уже что только не пробовал делать

BlastPy
19.09.2017
09:47:24
а там случайно не foreign key >

Ahmed
19.09.2017
09:47:28

Rookie
19.09.2017
09:47:32
А зачем глубина выборки в Meta?

BlastPy
19.09.2017
09:48:33
related_name гуглите если там сбор по пк

Google

Ahmed
19.09.2017
09:48:47

Rookie
19.09.2017
09:49:16
Что Вас смущает?

Ahmed
19.09.2017
09:49:35
И?
Что и? Для этого использую depth = 1
Выше прочитайте

Rookie
19.09.2017
09:51:41

Ahmed
19.09.2017
09:51:48

BlastPy
19.09.2017
09:53:11
Сделайте отдельньій сериалайзер
а там уже в вашем
created_by = CreatedSerializer()
ну как то так
я хз просто как обяснить

Ahmed
19.09.2017
10:01:44

Call Me Maybe
19.09.2017
10:02:01
держи нас в курсе