Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3492 posts.

Python для новичков » Как добавить данные по структуре модели в БД » Июнь 5, 2014 00:11:03

Здравствуйте!
Я недавно начал изучать Python/Django, и хочу создать вьюшку, в которую я выведу данные.
Далее у меня на вьюшке будет comboBox, на который нужно повесить евент, чтобы при смене comboBox Item
подгрузилась соответствующая форма ипотом назад получить данные.
Можете подсказать как это реализовать?

Python для новичков » NumPy » Июнь 4, 2014 13:57:24

Добрый день!

Не подскажите какую функцию использовать, чтобы определить самое встречающееся число в одном из столбцов array?
np…

GUI » Поворот текста на 90 градусов » Июнь 4, 2014 11:45:41

Подскажите, как можно повернуть текст на Tkinter.canvas на 90 градусов.

Python для новичков » suds plagin » Июнь 3, 2014 20:22:03

Всем привет! У меня вопрос по suds

class SignerPlugin(MessagePlugin):
        def __init__(self, keyfile, keytype=None, pwd=None, pwdCallback=None,
              pwdCallbackCtx=None):
             ...............................
       def sending(self, context):
            ..............................
           context.envelope = self.get_signature(etree.tostring(env))
def open_soap():
        client = suds.client.Client(config.CONFIG['host_service']['URL_service'], plugins=[SignerPlugin(config.CONFIG['sert']['path'])])
        return client
Вопрос в следующем, в сендинге я вижу свой правильный измененный контекст(правильную xml). А на сервер отправляется вроде как не измененная плагином xml… И я вот сижу и репу чешу, может кто-ниьуд кинет мыслю, а????

Django » Django поиск » Июнь 2, 2014 21:24:45

Есть галерея с миниатюрами(видео,картинки и тд) из БД. Что-то типо:http://savepic.net/5661983.htm

Нужно сделать поиск на этой странице,что то вроде исключающий поиск-фильтр,который в
зависимости от введенной поисковой фразы, или ее части, исключал бы часть этих миниатюр из контента,кроме тех,которые совпадают по заголовку.Как то так: http://savepic.net/5684497.htm

Были идеи, по поводу ajax, но как мне кажется, это не то немного.Хотя идея по сути должна быть проста.

Django » Не могу подключить перевод в шаблонах » Июнь 2, 2014 14:40:10

Не могу подключить перевод в шаблоне. За инструкцию взял http://blog.astrikov.ru/2013/04/django-translation-and.html

В шаблоне

<body>
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{{LANGUAGE_CODE}}
<!-- Current language: {{ LANGUAGE_CODE }} -->
<p>{% trans "Welcome" %}</p>

В сеттинге

LANGUAGE_CODE = 'ru'
LANGUAGES = (
	('ru', 'Russian'),
	('en', 'English'),
)
LOCALE_PATHS = (
    '/home/playcards/conf/locale',
)
и

USE_I18N = True
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
)

Файл словаря

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-02 11:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: templates/index.html:25
msgid "Welcome"
msgstr "ddd"
Перезапустил сервер, выводит “Welcom”

Что я не так делаю? Заранее всем спасибо

Python для новичков » tkinter » Июнь 2, 2014 14:01:29

Есть возможность label, в который я вывожу текст, сделать прозрачным?

Web » suds. Работа с xml » Июнь 2, 2014 08:26:03

Всем привет! У меня вопрос по suds.
Мне из моей xml нужно вытащить узел(элемент), получить от него хэшь и его (хэш) записать в другой элемент. И подобную манипуляцию мне нужно проделать еще раз - для подписи.

Затыка в том что я не понимаю как с xml деревом работать в suds, может кто объяснит или намекнет?

Я нашел методы добавления правтически всего в xml, а вот вытаскивать уже готовое не могу….

Python для новичков » Все те же списки » Май 30, 2014 20:11:17

Будьте добры, помогите.
У меня два списка a и b. После каждого хода они меняются и производится функция logic, которая должна проверять наличие какой-либо тройки элементов. Элементы в моем случае это цифры от 0 до 9.
Тройки элементов могут быть предварительно заданы(правда я не уверен, как правильно их задавать). В список a и b элементы забиваются в произвольном порядке.
Тремя способами из прошлой темы решить данную проблемку не выходит.

Python для новичков » Есть ли библиотека для работы с потоковым видео. » Май 28, 2014 16:01:03

Есть в сети устройство которое в формате mjpg передает видео.
Есть ли какая то библиотека с помощью которой модно получать это видео и прорисовывать кадры в окне?

Python для новичков » Выбор технологий для распределнных вычислений » Май 28, 2014 15:52:43

Накорябал свой велосипед на основе grab, оказался нестабилен.

Задача - распределенный парсинг клиентами-воркерами по заданиям с сервера, ну и складирование туда же.

Что посмотреть?

Celery + RabbitMQ? Disco? ZeroMQ?

Спасибо.

Django » проверка входа пользователя » Май 28, 2014 10:10:46

помогите пожалуйста написать тест, который проверяет вошёл пользователь через форму или нет. вот моя попытка

test.py:
from django.test import TestCase
from django.test.client import Client
class TestTemplatePage(TestCase):	
	def set_up(self):
		self.client = Client()
		
	def test_logged_in(self):
		response = self.client.post('/accounts/login/', {'username': 'qqq', 'password': 'qqq'})	
		self.assertTemplateUsed(response, 'user_personal.html')		#загрузилась внутренняя страница сайта, с соответствующим шаблоном. значит пользователь вошёл
urls.py:
urlpatterns = patterns('app_drummersaransk',
	url(r'^accounts/login/$', 'views.login', name='login', ),					
	url(r'^(?P<id>[0-9]+)/$', 'views.user_personal', name='user_personal', ),
)	

views.py:
@login_required		
def user_personal(request, id):		
	try:
		entries_user_profile = UserProfile.objects.get(user_ptr_id=id)
	except:
		return HttpResponseRedirect('/page_error404/')
	entries_user = User.objects.get(id=id)
	
	path_pk = ''
	
	if request.method == 'POST':	
		path_pk = id
		user_id = int(request.user.pk)
		
		if request.POST.get('action', '') == 'add':					
			q = Friends.get_entry(user_id=user_id, friend_id=path_pk)		
			
			if q == False:				
				Friends.set_entry(user_id=user_id, friend_id=path_pk)	#add							
				
		if request.POST.get('action', '') == 'delete':		
			try:
				Friends.get_entry(user_id=user_id, friend_id=path_pk)	#del
			except:
				pass			
			else:			
				Friends.del_entry(user_id=user_id, friend_id=path_pk)
			
	t = loader.get_template('user_personal.html')
	c = RequestContext(request, {
		'login': entries_user.username,
		'entries_user_profile': entries_user_profile,
	}, [custom_proc])	
	return HttpResponse(t.render(c))

в результате запуска теста в консоли выводится следующее сообщение об ошибке:
c:\Python33\django_projects\drummersaransk_new>python manage.py test app_drummer
saransk
Creating test database for alias 'default'...
F
======================================================================
FAIL: test_logged_in (app_drummersaransk.tests.TestTemplatePage)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\Python33\django_projects\drummersaransk_new\app_drummersaransk\tests.
py", line 26, in test_logged_in
    self.assertTemplateUsed(response, 'user_personal.html')
  File "C:\Python33\lib\site-packages\django\test\testcases.py", line 542, in as
sertTemplateUsed
    (template_name, ', '.join(template_names)))
AssertionError: False is not true : Template 'user_personal.html' was not a temp
late used to render the response. Actual template(s) used: accounts/login.html,
page_base.html
----------------------------------------------------------------------
Ran 1 test in 0.101s
FAILED (failures=1)
Destroying test database for alias 'default'...


при этом пользователь с логином qqq и паролем qqq существует

Python для новичков » Фильтрация в Celery? » Май 27, 2014 13:42:36

Каким образом в Celery можно получить список активных задач по маске? В качестве брокера используется redis, в редисе фильтрация по ключу осуществляется тривиально, есть ли возможность делать что-то похожее с таксами celery?

Собственно сама задача: есть ряд задач, которые может запускать пользователь нажатием кнопки на странице. Задача принимает аргументом айди некой сущности, пользователь может запустить кучу таких задач. Пользователю нужно показывать состояние каждой задачи. Напрашивается в task_id зашифровать ИД пользователя и по запросу состояний фитрануть inspect().active() по task_id и по name, чтобы не тянуть из редиса достаточно большой список задач.

Django » django-wkhtmltopdf с DEBUG = False выдают ошибку 500 » Май 26, 2014 22:09:35

проблема на гитхабе. без комментариев. либо мало кто пользуется, либо у всех работает…
settings.py:
...
DEBUG = True
ALLOWED_HOSTS = ['*']
WKHTMLTOPDF_CMD_OPTIONS = {
    'margin-bottom': 10,
    'margin-left': 20,
    'margin-right': 10,
    'margin-top': 10,
}
...
Все работает замечательно. Pdf генерируется без вопросов.
меняем DEBUG
settings.py:
...
DEBUG = False
ALLOWED_HOSTS = ['*']
WKHTMLTOPDF_CMD_OPTIONS = {
    'margin-bottom': 10,
    'margin-left': 20,
    'margin-right': 10,
    'margin-top': 10,
}
...
вместо pdf, получаю ошибку 500. Лог апача говорит мне следующее:
[Mon May 26 11:27:20.750000 2014] [mpm_winnt:notice] [pid 1292:tid 1888] AH00354: Child: Starting 64 worker threads.
Loading pages (1/6)
[>                                                           ] 0%
[======>                                                     ] 10%
Error: Failed loading page file:///C:/windows/temp/wkhtmltopdfe9da0a.html (sometimes it will work just to ignore this error with --load-error-handling ignore)
Exit with code 1 due to http error: 1201

что такого меняет переключение DEBUG с True на False? как побороть?

p.s. Все остальные страницы отдаются корректно.
пример вьюхи, генерирующей pdf:
views.py:
from django.views.generic.base import View
from wkhtmltopdf.views import PDFTemplateResponse
class MyPDFView(View):
    template = None
    footer_template = 'pdf/footer.html'
    context = None
    filename = u'pdf'
    cmd_options = None
    def get(self, request):
        response = PDFTemplateResponse(
            request=request,
            template=self.template,
            footer_template=self.footer_template,
            filename=self.filename,
            context=self.context,
            show_content_in_browser=True,
            cmd_options=self.cmd_options,
        )
        return response
urls.py:
...
from .views import MyPDFView
urlpatterns = patterns('',
    url(r'^pdf/ttest/$', MyPDFView.as_view(
        filename=u'ttest-{}.pdf'.format(datetime.now().strftime('%Y_%m_%d_%H_%M_%S')),
        template='pdf/ttest.html', 
        context=Context({
            'datetime': datetime_now,
            'title': u'tt',
            'context': Ttest.objects.all()
        }),
    )),
...
)

Django » ForeignKey для list_filter как? » Май 26, 2014 16:21:52

В проекте используются две админки(админка юзеров+админка для юзеров(АЮ))

В АЮ используется модель типа:
class Document(model.Models):
    title = models.CharField(_('title'), max_length=500)
    file = models.FileField(_('file'), upload_to='documents')
    order = models.IntegerField(_('order'), default=0)
    dtype = models.ForeignKey(to=DocType, blank=True, null=True)
class DocType(model.Models):
    title = models.CharField(_('title'), max_length=500)
    order= models.SmallIntegerField(verbose_name=u"Вес")

Для изоляции отображения в АЮ в поле выбора DocType в admin.py есть метод:

def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
        field = super(DocumentAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
        if db_field.name == 'title' or db_field.name == 'order' or db_field.name == 'dtype':
            if request.АЮ_site is not None:
                    field.queryset = field.queryset.filter(АЮ_site=request.АЮ_site)
            else:
                    field.queryset = field.queryset.none()
        return field

Но если в admin.py добавить для класса DocumentAdmin
 filter_list=['dtype']
, то в списке отображаются все Doctype (не только созданные этим пользователям)

Как быть?

Предопределять свой фильтр для каждого случая?

п.с. dj-1.6

Базы данных » [python3+django+mysql] InterfaceError » Май 25, 2014 16:52:53

При создании строк со связанными моделями через админку в mysql, постоянно ловлю ошибку интерфейса (текст здесь http://dpaste.com/0ZJQ88Q/ )
Насколько я понял из нагугленного, ошибка или самой бд, или коннектора (использован собственный Oracle - mysql-connector-python). Но я не понимаю, почему выдает ошибку именно определенная модель и как ее исправить?
Код здесь: http://bitbucket.org/caufman/axm/src

Python для новичков » Поиск ключей, значений » Май 21, 2014 18:01:12

Здравствуйте. Я прошу помощи. Будьте добры, подскажите.



login = str(input(“Введите ваш логин: ”))
# Как мне в этом месте проверить существует ли уже такой логин( строка это будет или ключ) в блокноте
passw = str(input(“Введите ваш пароль: ”))
profile = {login:passw}


Сам код вот

import hashlib
import json
file_password = open(r'D:\Py File\Password\work.txt','a')
def md5(line):
x = hashlib.md5(line.encode('utf-8')).hexdigest()
return x
def coding(x):
file_password.write (json.dumps(x,'\n'))
file_password.write ('\n')
return x

while True:
login = str(input('Добро пожаловать на сайт. Укажите ваш логин: '))
Вот тут мне надо проверить, есть ли такой логин в блокноте, среди уже имеющихся
passw = str(input('Теперь укажите пароль: ')

passw = md5(passw)
profile = {login:passw}
coding(profile)
break

Django » ошибка no such table: userprofile » Май 20, 2014 17:08:05

люди, помогите пожалуйста, у меня случился армагеддон

на моём django1.6-сайте была система регистрации. записи пользователей хранил в модели UserProfile, унаследованной от User. по ходу доработки сайта я дорабатывал UserProfile(например добавлял связанные таблицы через foreignKey)

проблема в том, что однажды я решил уничтожить UserProfile через интерфейс программы sqlLiteStudio. затем попробовал вновь создать таблицы командой python manage.py syncdb . в результате получил следующее сообщение об ошибке:

c:\Python33\django_projects\drummersaransk_w>python manage.py syncdb
Traceback (most recent call last):
  File "C:\Python33\lib\site-packages\django\db\backends\util.py", line 53, in e
xecute
    return self.cursor.execute(sql, params)
  File "C:\Python33\lib\site-packages\django\db\backends\sqlite3\base.py", line
450, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: drummersaransk_userprofile
The above exception was the direct cause of the following exception:
......
....
    self._result_cache = list(self.iterator())
  File "C:\Python33\lib\site-packages\django\db\models\query.py", line 1068, in
iterator
    for row in self.query.get_compiler(self.db).results_iter():
  File "C:\Python33\lib\site-packages\django\db\models\sql\compiler.py", line 70
9, in results_iter
    for rows in self.execute_sql(MULTI):
  File "C:\Python33\lib\site-packages\django\db\models\sql\compiler.py", line 78
2, in execute_sql
    cursor.execute(sql, params)
  File "C:\Python33\lib\site-packages\django\db\backends\util.py", line 69, in e
xecute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "C:\Python33\lib\site-packages\django\db\backends\util.py", line 53, in e
xecute
    return self.cursor.execute(sql, params)
  File "C:\Python33\lib\site-packages\django\db\utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "C:\Python33\lib\site-packages\django\utils\six.py", line 535, in reraise
    raise value.with_traceback(tb)
  File "C:\Python33\lib\site-packages\django\db\backends\util.py", line 53, in e
xecute
    return self.cursor.execute(sql, params)
  File "C:\Python33\lib\site-packages\django\db\backends\sqlite3\base.py", line
450, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: drummersaransk_userprofile

если интересно посмотреть код моделей, то он здесь

при этом. если удаляю UserProfile и затем создаю её SQL-запросом через интерфейс sqllitestudio, то таблица создаётся и сообщений об ошибках не выводится

и ещё информация. команда python manage.py test UserProfile выводит:
suite
    tests = self.test_loader.loadTestsFromNa
  File "C:\Python33\lib\unittest\loader.py",
    module = __import__('.'.join(parts_copy)
ImportError: No module named 'UserProfile'
это странно, так как импорт во всех файлах прописан правильно. в пользу этого говорит то, что сайт работает до того момента как я удаляю вручную таблицу USerProfile

Python для новичков » Посоветуйте годный инструментарий для работы с Active Directory (Python 3.4) » Май 20, 2014 05:17:12

Здравствуйте!
Собственно сабж в названии темы.

Пробовал модуль python3-ldap, но заглох после установки, не хочет работать операция connect.
c = Connection(s, auto_bind = True, client_strategy = STRATEGY_SYNC, user='username', password='password', authentication=AUTH_SIMPLE)
print(s.info) - Ошибка: ldap3.LDAPException: auto_bind not successful

Если есть вещи получше, буду благодарен за совет. Ну или если кто поможет разобраться с этим модулем, так же буду крайне признателен.

Автоматизация бизнеса » Небольшая доработка ПО IP телефонии CDR-Stats на Python » Май 18, 2014 20:29:09

Есть работающий сервер IP телефонии, обслуживающий 40-50 сотрудников, звонков совершается в день огромное количество и все они записываются. Необходимо установить и настроить решение для статистики и прослушивания записанных разговоров. Изначально стоял php скрипт, но в последнее время из-за большой нагрузки он сильно тормозил. В данный момент поставили решение CDR-Stats V2 (http://www.cdr-stats.org) - там есть подробная статистика, но нет ссылок на записанные разговоры.

Необходимо доделать установленное ПО CDR-Stats V2 (добавить ссылки на прослушивание разговоров, поправить внешний вид немного, поправить локализацию)