Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Django » Не отображается форма FileField » Ноя. 2, 2015 09:17:26

Здравствуйте! Помогите пожалуйста с отображением формы.

models.py:
class Mydocuments(models.Model):
    docfile = models.FileField(upload_to='') 
forms.py:
class DocumentForm(forms.Form):
    class Meta:
        model = Mydocuments
        fields = ['docfile']
views.py:
def list(request):    
    # Handle file upload
    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            print(request.POST)
            newdoc = Mydocuments(docfile = request.FILES['docfile'])
            newdoc.save()
            # Redirect to the document list after POST
            return HttpResponseRedirect(reverse('contact_info.views.list'))
    else:
        form = DocumentForm() # A empty, unbound form
    # Load documents for the list page
    documents = Mydocuments.objects.all()
    # Render list page with the documents and the form
    return render_to_response('list.html' ,{'documents': documents, 'form': form}, context_instance=RequestContext(request))
list.html:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Minimal Django File Upload Example</title>	
	</head>
	<body>		
		{% if documents %}
			<ul>		
				<img src="{{ documents.docfile.url }}" width=200;/>			
			</ul>
		{% else %}
			<p>No documents.</p>
		{% endif %}		
		<form action="" method="post" enctype="multipart/form-data">
			{% csrf_token %}
			<p>{{ form.non_field_errors }}</p>
			<p>{{ form.docfile.label_tag }} {{ form.docfile.help_text }}</p>
			<p>
				{{ form.docfile.errors }}
				{{ form.docfile }}
			</p>
			<p><input type="submit" value="Upload" /></p>
		</form>		
	</body>
</html>

Однако после запуска всего этого отображается только кнопка Upload и надпись No documents, желаемой кнопки Browse для загрузки файла нет.

Python для экспертов » Документация к openopt » Окт. 30, 2015 15:02:45

Подскажите где взять документацию к OpenOpt? openopt.org не открывается.

Базы данных » Python + ADS (Advantage Database Server) » Окт. 30, 2015 08:19:20

Python + ADS (Advantage Database Server): у кого был опыт работы? Какой модуль поставить под Python 2.7 под Windows? Как законнектиться и начать работать?

Центр помощи » Помогите с задачей пожалуйста.Срочно, заранее спасибо » Окт. 29, 2015 17:12:03


Заданная матрица размерности nxm . Найти максимальный по модулю элемент матрицы . Переставить строки и столбцы матрицы так , чтобы этот элемент оказался на пересечении k -й строки и k -го столбца.

Python для новичков » Построение графа с помощью networkx » Окт. 29, 2015 12:23:14

Есть необходимость генерировать случайный граф с заданным количеством выходящих из вершины ребер + задавать сколько всего узлов в графе + сколько будет висячих узлов.
Подскажите пожалуйста, есть ли готовый класс в networkx, который умеет это делать (если networkx не умеет, может умеет какая-то другая библиотека?)?

Пока смогла написать только вот такой код, но тут я могу указать только 1 из параметров (количество исходящих из вершины ребер).
# coding: utf8
from random import randint
import networkx as nx
import matplotlib.pyplot as plt
btree = nx.balanced_tree(randint(1, 5), 2)
print(btree.edges())
print(btree.nodes())
pos = nx.graphviz_layout(btree, prog='dot')
nx.draw(btree, pos, with_labels=True, arrows=False)
plt.savefig("path_graph_cities.png")

Django » типовое приложение на django паттерны проектирования » Окт. 28, 2015 12:09:40

Как бы вы сказали, какие есть типичные паттерны (в смысле шаблоны) для создания сайта.
UML пока не трогаем.

Насколько я знаю, робкая попытка это описать “вообще” для сайта была сделана в книге Паван Вора “Шаблоны проектирования веб-приложений” или что-то такое.
То есть “батарейки”, но самые типовые.

Итак, в “среднем” сайте вообще (и на django в частности) нужно обязательно:
а) регистрация
( работающий модуль django: django-oauth, например)
но такая регистрация, которая сама может на почту отослать.
да и почтовый сервер рядышком бы не помешал.

б) админка - (ну тут конкретно тут она встроена)

в) ну, скажем галерея (например django-photologue)
…….

ю) (немалый паттерн) - форум на сайте для разных нужд (djangobb например)
я) (огромный паттерн) - интернет-магазин (oscar, satchmo, и др.)








Django » wagtail cms » Окт. 27, 2015 12:19:50

В wagtail cms формах нет опции загрузки файла или картинки пользователем. Как можно добавить FileField и ImageField?

Django » Несколько однотипных сайтов на Django » Окт. 24, 2015 17:53:33

Коллеги, подскажите есть проект движка на Django с статьями, категориями и статическими страницами.

Хочу на основе этого движка поднять несколько сайтов которые будут отличаться только шаблонами и статикой

Подскажите как правильно сформулировать запрос к поисковику:
чтоб не дублировать один и тот же проект который по сути будет одинаков для всех сайтов, а различаться они будут статикой и шаблонами, как лучше поступить? можно ли проект запустить один раз, а темплейты и статика чтоб для каждого сайта раздавались свои?

Python для новичков » PyCharm и xmltv » Окт. 21, 2015 18:20:06

Есть такая библиотека как xmltv. В ней внесены изменения для поддержки версии питона 3.5
https://bitbucket.org/jfunk/python-xmltv/commits/all

Использую PyCharm в нем импортирована xmltv версии 1.4.3 которая берется из директории https://pypi.python.org/pypi
Данная версия не совместима с 3.5

Скачал пакет из https://bitbucket.org/jfunk/python-xmltv/downloads просмотрел он подходи .
Не могу понять как инсталировать его вместо уже стоящего несовместимого.
Помогите новичку

Python для экспертов » django-redis отключить префик » Окт. 21, 2015 13:55:11

Добрый день, Коллеги.

Подскажите, кто использует django-redis.

Как отключить префикс.
к примеру если делать так:
from django.core.cache import cache
cache.set("foo", "value", timeout=25)
то foo создается в редисе так:
":1:foo"

для решения этой проблемы можно использовать raw вариант, но не хотелось бы.

в параметрах я не нашел как отключить этот префикс.

Python для новичков » Помогите составить правильный (быстрый) алгоритм » Окт. 19, 2015 20:39:52

Для тех кто не сильно устал на работе
Есть задача http://acm.timus.ru/problem.aspx?space=1&num=1654
Вот мой код (постарался описать получше)
from sys import stdin
data = ' '.join(stdin.read()).split()   # преобразуем строку в список подстрок
index = 0   # нулевой индекс как точка старта
while index < len(data) - 1:   # крутим пока есть хоть одна пара для проверки
    if data[index] == data[index + 1]:   # проверяем соседние буквы
        del data[index:index + 2]   # удаляем если соседние символы равны
        index -= 1   # возвращаемся на шаг назад, на случай, если после удаления среза, соседние символы оказались равны
        if index < 0:   # страхуемся от отрицательного индекса
            index = 0
    else:
        index += 1   # если удаления не было, продвигаемся на шаг вперёд
print(''.join(data))
Сейчас ещё два варианта в голову пришли, но не хватает знаний для реализации, пока копаюсь в библиотеках, может кто поможет советом или подсказкой, как ускорить код.

Флейм » Ищу опытных разработчиков Python » Окт. 19, 2015 17:43:54

Проект создается с 0. Приглашаю специалистов с опытом.
Работа в офисе в Москве.

В новую компанию, являющуюся представителем “Comedy Club Production” на IT-рынке, требуются Python-разработчики.

Обязанности:

бэкэнд-разработка видеосервиса;
участие в проектировании архитектуры, выборе решений;

В процессе набора команды для нового проекта компании будут учитываться следующие факторы:
- опыт в создании сетевых высоконагруженных программных продуктов с высокими требованиями отказоустойчивости;
- широкий кругозор в области IT-технологий, стремление развиваться профессионально;
- готовность работать в офисе полный рабочий день с гибким графиком;
- желание и умение трудиться в команде, сообща находить оптимальные решения задач;

Нам в команду требуются специалисты своего дела, поэтому требования к технической подготовке и опыту кандидата довольно обширны:

- опыт разработки на Python более 3 лет, знание основных возможностей стандартной библиотеки;
- знание и опыт применения хотя бы одного веб-фреймворка (Flask, Django, Pyramid, );
- имеет большое значение опыт работы с БД PostgreSQL, знание её особенностей, написание изначально оптимизированных запросов, практика масштабирования данной БД не только в пределах одного ДЦ, обеспечение целостности данных, транзакционность, ACID;
- знание принципов и подходов к сокращению времени отклика, опыт построения высоконагруженных веб-ресурсов, отказоустойчивость, избыточность;
- иметь представление об архитектуре микросервисов; понимать плюсы и минусы данного подхода;
- опыт работы с брокерами сообщений, асинхронными/отложенными задачами, распараллеливание вычислений/логики, многопоточность;
- иметь представление или, что еще лучше, опыт работы с системами BigData, знать плюсы и минусы данных систем (Hadoop, Cassandra, Riak, CouchDB, );
- знание *nix (linux) систем, понимание принципов работы не только со стороны системного администрирования, знать, что происходит под капотом;
- большим плюсом будет знание и опыт программирования на других языках (C/C++, Erlang etc);

Что мы предлагаем:
- работа в дружной,молодой, интересной команде;
- полный рабочий день;
- оформление по ТК РФ;
- нахождение в комфортном, оборудованном для творческой группы офисе, рядом с метро;
- комфортная атмосфера, чай/кофе/печенюшки;
- возможность профессионального и карьерного развития;
- конкурентный оклад, дополнительные поощрения;

ЗП от 100 000
Работа в Москве на постоянной основе.
Для связи 8 495 745-14-87 или 8 963 710 2567 Александр
Резюме можно прислать на почту info@itv-pro.com
Сайт itv-pro.com
ЗП от 100 000 т.р.

Резюме можно на почту sanyamol@ya.ru

Python для новичков » Генерирование веб формы » Окт. 19, 2015 13:50:14

Здравствуйте изучаю питон по Лутцу, там есть раздел веб программирование вот код
"""
Реализует веб-интерфейс для просмотра и изменения экземпляров классов
в хранилище; хранилище находится на сервере (или на том же компьютере,
если используется имя localhost)
"""
import cgi, shelve, sys, os	# cgi.test() выведет поля ввода
shelvename = 'class-shelve'	# файлы хранилища находятся
				# в текущем каталоге
fieldnames = ('name', 'age', 'job', 'pay')
form = cgi.FieldStorage()	#парсинг данных формы
print('Content-type: text/html')#заголовок + пустая строка для ответа
sys.path.insert(0, os.getcwd()) #благодаря этому модуль pickle
				#и сам сценарий будут способны
				#импортировать модуль person
# главный шаблон разметки html
replyhtml = """
<html>
<title>People Input Form</title>
<body>
<form method=POST action="peoplecgi.py">
    <table>
    <tr><th>key<td><input type=text name=key value="%(key)s">
    $ROWS$
    </table>
    <p>
    <input type=submit value="Fetch", name=action>
    <input type=submit value="Update", name=action>
</form>
</body></html>
"""
# вставить разметку html с данными в позицию $ROWS$
rowhtml = '<tr><th>%s<td><input type=text name=%s value="%%(%s)s">\n'
rowshtml = ''
for fieldname in fieldnames:
    rowshtml += (rowhtml % ((fieldname,) * 3))
replyhtml = replyhtml.replace('$ROWS$', rowshtml)
def htmlize(adict):
    new = adict.copy()				#значения могут содержать &, >
    for field in fieldnames:			#и другие специальные символы,
        value = new[field]   	  		#отображаемые особым образом;
        new[field] = cgi.escape(repr(value))	#их необходимо экранировать
    return new
def fetchRecord(db, form):
    try:
        key = form['key'].value
        record = db[key]
        fields = record.__dict__		# для заполнения строки ответа
        fields['key'] = key			# использовать словарь атрибутов
    except:
        fields = dict.fromkeys(fieldnames, '?')
        fields['key'] = 'Missing or invalid key!'
    return fields
def updateRecord(db, form):
    if not 'key' in form:
        fields = dict.fromkeys(fieldnames, '?')
        fields['key'] = 'Missing key input!'
    else:
        key = form['key'].value
        if key in db:
            record = db[key] 		# изменить существующую запись
	    else:
	        from person import Person 	# создать/сохранить новую
                record = Person(name='?', age='?') 	# eval: строки должны быть
					    # заключены в кавычки
            for field in fieldnames:
	            setattr(record, field, eval(form[field].value))
            db[key] = record
            fields = record.__dict__
            fields['key'] = key
        return fields
db = shelve.open(shelvename)
action = form['action'].value if 'action' in form else None
if action == 'Fetch':
    fields = fetchRecord(db, form)
elif action == 'Update':
    fields = updateRecord(db, form)
else:
    fields = dict.fromkeys(fieldnames, '?')	 # недопустимое значение
    fields['key'] = 'Missing or invalid action!' # кнопки отправки формы
db.close()
print(replyhtml % htmlize(fields))  # заполнить фо
здесь есть код где генерируется форма почемуто он не работает, да и я не могу разобраться, если есть желание разъясните

Python для новичков » считать поток с usb » Окт. 16, 2015 16:40:34

пытаюсь считать данные с usb мыши, получаю числа , можно ли как то считывать в реальном времени когда двигается мышь?
files = file( "/dev/bus/usb/001/003" );

while True:
for c in files.read(3):
print ord(c)

Флейм » Кто поробовал библиотеку PEX » Окт. 15, 2015 08:17:46

кто пробовал такую бибилиотеку https://github.com/pantsbuild/pex ??? Поделитесь впечатлениями.

Центр помощи » Как в Python с помощью nltk выполнять операции с текстом? » Окт. 14, 2015 18:56:29

Задача: определить количество артиклей в тексте.
Пробовал делать вот так:
def work_text(x,y,op):
f = open(op,'r')
text = f.read()
f.close()
txt.insert(END,text)
word=nltk.word_tokenize(txt)
a='the'
k=0
b='a'
j=0
for i in word:
if a in i:
k=k+1
if b in i:
j=j+1
print('Number'+a+'-'+str(k),'Number'+b+'-'+str(j))
но ничего не получается. Подскажите пожалуйста. Буду очень благодарен за дополнительную информацию!

Python для новичков » OpenCV и локальное видео » Окт. 14, 2015 12:24:09

Всем примет. С openCV только начинаю работать и у меня возник вопрос. А возможно ли вытаскивать кадры из локального видео (т.е. то, которое хранится на компьютере). А то нашел много тем с получением кадров из веб-камеры, но, к сожалению, ничего не нашел о локальном видео.

Python для новичков » Считывать выводимый поток звука » Окт. 13, 2015 20:37:30

Подскажите способ считывать поток звука идущий на устройство воспроизведения по умолчанию. ОС Windows 7

Django » Как настроить меню  » Окт. 13, 2015 09:48:21

Добрый день !
Я снял небольшой ролик чтобы показать мою проблему как говорят лучше один раз увидеть чем сто раз услышать
ссылка на видео https://youtu.be/_swefuHtpmE

Обсуждение новостей » Python wats » Окт. 13, 2015 04:12:41

https://github.com/cosmologicon/pywat

Подборка “контр-интуитивных приемов программирования на языке Python”. Достаточно спорная статья, если принимать во внимание вот это определение и само содержание фрагментов кода. НО, тем не менее это может быть полезно новичкам, что бы освоить некоторые неявные тонкости. Более опытные товарищи наверняка со всем перечисленным справятся.

Статья вообще выглядит холиварной =)