<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F</id>
	<title>Создание Django проекта с нуля - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F&amp;action=history"/>
	<updated>2026-06-02T22:11:55Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F&amp;diff=318&amp;oldid=prev</id>
		<title>imported&gt;Vix: /* 1. Оснастка сервера */</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F&amp;diff=318&amp;oldid=prev"/>
		<updated>2022-06-30T00:57:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;1. Оснастка сервера&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 03:57, 30 июня 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l127&quot;&gt;Строка 127:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 127:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*В файле models.py создать модель (описание таблицы БД) [http://djangobook.com/en/1.0/appendixB/ Описание полей таблиц, eng.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*В файле models.py создать модель (описание таблицы БД) [http://djangobook.com/en/1.0/appendixB/ Описание полей таблиц, eng.]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight lang=&quot;shell&quot; line='line'&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  from django.db import models&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  from django.db import models&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  class ok16(models.Model):&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  class ok16(models.Model):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l139&quot;&gt;Строка 139:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 140:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     class Meta:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     class Meta:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         ordering = ['profname']&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         ordering = ['profname']&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;/syntaxhighlight&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://djbook.ru/ch05.html Внимательно прочитать главу]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://djbook.ru/ch05.html Внимательно прочитать главу]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**[http://djbook.ru/ch05s03.html Настройка БД]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**[http://djbook.ru/ch05s03.html Настройка БД]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l148&quot;&gt;Строка 148:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*В той же папке в Eclipse создать файл import_csv.py. Прямое копирование данных из файла в БД (2 недели разбирался). В БД spravochnik_siz создать таблицу ok16&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*В той же папке в Eclipse создать файл import_csv.py. Прямое копирование данных из файла в БД (2 недели разбирался). В БД spravochnik_siz создать таблицу ok16&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Пока без комментов, сори.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Пока без комментов, сори.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; line='line'&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import psycopg2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import psycopg2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import sys&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import sys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l194&quot;&gt;Строка 194:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 197:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if __name__ == &amp;quot;__main__&amp;quot;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if __name__ == &amp;quot;__main__&amp;quot;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     sys.exit(main())&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     sys.exit(main())&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Содержимое файла import_csv.py из wiki копировать в режиме редактирования, иначе формат не сохранится.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Содержимое файла import_csv.py из wiki копировать в режиме редактирования, иначе формат не сохранится.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Настройка Apache ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Настройка Apache ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.foxhop.net/django-virtualenv-apache-mod_wsgi Django virtualenv Apache2 mod_wsgi]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.foxhop.net/django-virtualenv-apache-mod_wsgi Django virtualenv Apache2 mod_wsgi]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://softwaremaniacs.org/forum/django/search/?term=wsgi Форум про Джанго с поиском]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://softwaremaniacs.org/forum/django/search/?term=wsgi Форум про Джанго с поиском]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Ручная настройка проекта Django в Питоне==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Ручная настройка проекта Django в Питоне==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgdb4support-mediawiki-:diff::1.12:old-317:rev-318 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Vix</name></author>
	</entry>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F&amp;diff=317&amp;oldid=prev</id>
		<title>imported&gt;Supportadmin: Новая страница: «::::::: ...самая острая память - тупой карандаш. ==1. Оснастка сервера== ===Необходимые пакеты=== *…»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Django_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_%D1%81_%D0%BD%D1%83%D0%BB%D1%8F&amp;diff=317&amp;oldid=prev"/>
		<updated>2013-08-04T11:53:23Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «::::::: ...самая острая память - тупой карандаш. ==1. Оснастка сервера== ===Необходимые пакеты=== *…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;::::::: ...самая острая память - тупой карандаш.&lt;br /&gt;
==1. Оснастка сервера==&lt;br /&gt;
===Необходимые пакеты===&lt;br /&gt;
*База данных&lt;br /&gt;
postgresql                                      &lt;br /&gt;
postgresql-8.4                                  &lt;br /&gt;
postgresql-client                               &lt;br /&gt;
postgresql-client-8.4                           &lt;br /&gt;
postgresql-client-common                        &lt;br /&gt;
postgresql-common                               &lt;br /&gt;
postgresql-contrib                              &lt;br /&gt;
postgresql-contrib-8.4                          &lt;br /&gt;
postgresql-doc                                  &lt;br /&gt;
postgresql-doc-8.4&lt;br /&gt;
&lt;br /&gt;
*Фреймворк Django&lt;br /&gt;
python-django                                   &lt;br /&gt;
python-django-doc &lt;br /&gt;
python-anyjson &lt;br /&gt;
&lt;br /&gt;
*Доступ к PostgreSQL из Python&lt;br /&gt;
python-psycopg2&lt;br /&gt;
&lt;br /&gt;
*Модуль для обработки JSON &lt;br /&gt;
python-simplejson&lt;br /&gt;
&lt;br /&gt;
*Дополнения к Django&lt;br /&gt;
django-ajax-selects                             &lt;br /&gt;
django-filter                                   &lt;br /&gt;
django-tables                                   &lt;br /&gt;
&lt;br /&gt;
*Библиотеки JS (пока не знаю как они используются, и вообще используются ли)&lt;br /&gt;
libjs-jquery                                    &lt;br /&gt;
libjs-jquery-cookie                             &lt;br /&gt;
libjs-jquery-easing                             &lt;br /&gt;
libjs-jquery-event-drag                         &lt;br /&gt;
libjs-jquery-event-drop                         &lt;br /&gt;
libjs-jquery-fancybox                           &lt;br /&gt;
libjs-jquery-form                               &lt;br /&gt;
libjs-jquery-galleriffic                        &lt;br /&gt;
libjs-jquery-history                            &lt;br /&gt;
libjs-jquery-jfeed                              &lt;br /&gt;
libjs-jquery-jush                               &lt;br /&gt;
libjs-jquery-livequery                          &lt;br /&gt;
libjs-jquery-meiomask                           &lt;br /&gt;
libjs-jquery-metadata                           &lt;br /&gt;
libjs-jquery-mousewheel                         &lt;br /&gt;
libjs-jquery-opacityrollover                    &lt;br /&gt;
libjs-jquery-tablesorter                        &lt;br /&gt;
libjs-jquery-tipsy                              &lt;br /&gt;
libjs-jquery-treetable                          &lt;br /&gt;
libjs-jquery-ui                                 &lt;br /&gt;
libjs-jquery-ui-docs   &lt;br /&gt;
libjs-json &lt;br /&gt;
&lt;br /&gt;
*Веб сервер&lt;br /&gt;
apache2                                         &lt;br /&gt;
apache2-mpm-prefork                             &lt;br /&gt;
apache2-utils                                   &lt;br /&gt;
apache2.2-bin                                   &lt;br /&gt;
apache2.2-common&lt;br /&gt;
 &lt;br /&gt;
 '''На заметку:'''&lt;br /&gt;
 [[мой сорс лист]]&lt;br /&gt;
 [[полный бэкап моих пакетов]] &lt;br /&gt;
 dpkg --get-selections &amp;gt;myselections  - создать бэкап&lt;br /&gt;
 dpkg --set-selections &amp;lt;myselections  - загрузить бэкап&lt;br /&gt;
===Настройка БД PostgreSQL===&lt;br /&gt;
[http://sgu.kz/viewtopic.php?f=30&amp;amp;t=1823 Оригинал статьи], но всякое бывает, поэтому продублирую.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Устанавливаем phpPgAdmin:&lt;br /&gt;
 #apt-get install phppgadmin&lt;br /&gt;
Системный пользователь БД в PostgreSQL называется postgres. Установим ему пароль следующей командой:&lt;br /&gt;
 #passwd postgres&lt;br /&gt;
Присваиваем пароль супепользователю БД (postgres):&lt;br /&gt;
 #su postgres -c psql postgres&lt;br /&gt;
 psql (8.4.7)&lt;br /&gt;
 Type &amp;quot;help&amp;quot; for help.&lt;br /&gt;
&lt;br /&gt;
 postgres=#&lt;br /&gt;
 postgres=#  ALTER USER postgres WITH PASSWORD '[PASS]';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''[PASS] - пароль пользователя postgres''&lt;br /&gt;
&lt;br /&gt;
''Выходим:''&lt;br /&gt;
&lt;br /&gt;
 postgres=# \q&lt;br /&gt;
Открваем конфиг:&lt;br /&gt;
 #nano /etc/postgresql/8.4/main/postgresql.conf&lt;br /&gt;
В секции CONNECTIONS AND AUTHENTICATION раскоментируем следующие строки:&lt;br /&gt;
 listen_addresses = 'localhost'&lt;br /&gt;
 password_encryption = on&lt;br /&gt;
Открываем pg_hba.conf &lt;br /&gt;
 #gedit /etc/postgresql/8.4/main/pg_hba.conf&lt;br /&gt;
и дописываем в конец:&lt;br /&gt;
 host all all 192.168.1.2 255.255.255.0 md5&lt;br /&gt;
Перезапускаем сервер:&lt;br /&gt;
 #/etc/init.d/postgresql restart&lt;br /&gt;
Cоздаем нового пользователя ‘pgadmin’ с правами администратора:&lt;br /&gt;
 #sudo -u postgres createuser pgadmin&lt;br /&gt;
Задаем пароль пользователю ‘pgadmin’:&lt;br /&gt;
 #sudo su postgres -c psql postgres&lt;br /&gt;
 postgres=# ALTER USER pgadmin WITH PASSWORD '123456';&lt;br /&gt;
 postgres=# \q&lt;br /&gt;
&lt;br /&gt;
Заходим на страницу [http://localhost/phppgadmin/ http://localhost/phppgadmin/] и переходим в Servers - PostgreSQL. Указываем 'Имя пользователя' (pgadmin) и 'Пароль' и попадаем в БД.&lt;br /&gt;
&lt;br /&gt;
В качестве боевой помощи [[PostgreSQL краткая справка по помощи]]&lt;br /&gt;
&lt;br /&gt;
===Программное обеспечение для разработки===&lt;br /&gt;
*[http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/indigosr1 Eclipse IDE for JavaScript Web Developers] в сочетании с надстройкой [http://pydev.org/ Pydev] &lt;br /&gt;
*[http://pydev.org/manual_101_install.html Инструкция по настройке Pydev]&lt;br /&gt;
*[http://www.geany.org/ Любимый &amp;quot;блокнот&amp;quot; geany] - лучший инструмент для оперирования Jquery, Jquery UI и всего где много вложенных скобок, кавычек и т.д.&lt;br /&gt;
*[http://kompozer.net/ kompozer] - лучший визуальный редактор HTML&lt;br /&gt;
*Google Chrome + магическое сочетание Ctrl+Shift+j&lt;br /&gt;
*Mozilla fireFox + надстройка Web Developer&lt;br /&gt;
&lt;br /&gt;
===Настройка и пробный запуск Django проекта===&lt;br /&gt;
Для справки &lt;br /&gt;
  [http://djbook.ru/ch02s04.html#djangobook.chap02.setdb.pgsql Использование Django с PostgreSQL]&lt;br /&gt;
  [http://djbook.ru/ch02s05.html Новый проект]&lt;br /&gt;
  [http://djbook.ru/ch02s05.html#djangobook.chap02.running-devserver Запуск сервера разработки]&lt;br /&gt;
&lt;br /&gt;
*В Eclipse создать новый Django проект&lt;br /&gt;
*В файле models.py создать модель (описание таблицы БД) [http://djangobook.com/en/1.0/appendixB/ Описание полей таблиц, eng.]&lt;br /&gt;
&lt;br /&gt;
 from django.db import models&lt;br /&gt;
 class ok16(models.Model):&lt;br /&gt;
    id= models.AutoField(primary_key=True)&lt;br /&gt;
    kod=models.CharField(max_length=5)      &lt;br /&gt;
    kch=models.CharField(max_length=1)&lt;br /&gt;
    profname=models.CharField(max_length=255)&lt;br /&gt;
    etks=models.CharField(max_length=2)&lt;br /&gt;
    okz=models.CharField(max_length=4)&lt;br /&gt;
    def _unicode_(self):&lt;br /&gt;
        return self.profname         &lt;br /&gt;
    class Meta:&lt;br /&gt;
        ordering = ['profname']&lt;br /&gt;
*[http://djbook.ru/ch05.html Внимательно прочитать главу]&lt;br /&gt;
**[http://djbook.ru/ch05s03.html Настройка БД]&lt;br /&gt;
**[http://djbook.ru/ch05s07.html Установка модели] - очень часто используется, особенно вначале пути.&lt;br /&gt;
**В папке с проектом создать текстовый файл [[ok1.csv]]. Расширение не важно, суть в содержимом.&lt;br /&gt;
&lt;br /&gt;
 Содержимое файла ok1.csv из wiki копировать в режиме редактирования, иначе формат не сохранится &lt;br /&gt;
&lt;br /&gt;
*В той же папке в Eclipse создать файл import_csv.py. Прямое копирование данных из файла в БД (2 недели разбирался). В БД spravochnik_siz создать таблицу ok16&lt;br /&gt;
 Пока без комментов, сори.&lt;br /&gt;
 &lt;br /&gt;
 import psycopg2&lt;br /&gt;
 import sys&lt;br /&gt;
 import csv&lt;br /&gt;
 from string import *&lt;br /&gt;
 def main():&lt;br /&gt;
    csv_file_name= 'ok1.csv'&lt;br /&gt;
    conn_string = &amp;quot;host='localhost' dbname='spravochnik_siz' user='pgadmin' password='000000'&amp;quot;&lt;br /&gt;
    print &amp;quot;Connecting to database\n    -&amp;gt;%s&amp;quot; % (conn_string)&lt;br /&gt;
    try:&lt;br /&gt;
        conn = psycopg2.connect(conn_string)&lt;br /&gt;
        cursor = conn.cursor()&lt;br /&gt;
        #records = cursor.fetchall()&lt;br /&gt;
        #pprint.pprint(records)&lt;br /&gt;
    except:&lt;br /&gt;
        exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()&lt;br /&gt;
        sys.exit(&amp;quot;Database connection failed!\n -&amp;gt;%s&amp;quot; % (exceptionValue))&lt;br /&gt;
    input_file=csv.reader(open(csv_file_name,'rb'), delimiter='#')&lt;br /&gt;
    ##########добавление &lt;br /&gt;
    cursor.execute(&amp;quot;SELECT * FROM spravochnik_siz_ok16&amp;quot;)&lt;br /&gt;
    ttemp=cursor.fetchall()&lt;br /&gt;
    siz_name_id = len(ttemp)+1&lt;br /&gt;
    call_zap_vsego=0&lt;br /&gt;
    call_zap=0&lt;br /&gt;
    for row in input_file:&lt;br /&gt;
        data1 = {'id':str(siz_name_id), 'kod':row[0], 'kch':row[1], 'profname':row[2], 'etks':row[3],'okz':row[4]}&lt;br /&gt;
        call_zap_vsego=call_zap_vsego+1&lt;br /&gt;
        try:&lt;br /&gt;
            cursor.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO spravochnik_siz_ok16 VALUES (%(id)s, %(kod)s,%(kch)s, %(profname)s, %(etks)s, %(okz)s);&amp;quot;&amp;quot;&amp;quot;, data1) &lt;br /&gt;
            siz_name_id = siz_name_id+1&lt;br /&gt;
            print (row[2])&lt;br /&gt;
            conn.commit()&lt;br /&gt;
            call_zap=call_zap+1&lt;br /&gt;
        except:&lt;br /&gt;
            print (&amp;quot;error-&amp;quot;,row[0])&lt;br /&gt;
            exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()&lt;br /&gt;
            sys.exit(&amp;quot;Database connection failed!\n -&amp;gt;%s&amp;quot; % (exceptionValue))&lt;br /&gt;
    print &amp;quot;calichestvo dobavlennih zapisej=&amp;quot;,call_zap&lt;br /&gt;
    print &amp;quot;vsego zapisej=&amp;quot;,call_zap_vsego&lt;br /&gt;
    print &amp;quot;-------------------------------&amp;quot;&lt;br /&gt;
    cursor.close()   &lt;br /&gt;
    conn.close()&lt;br /&gt;
        &lt;br /&gt;
    sys.exit()&lt;br /&gt;
 if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    sys.exit(main())&lt;br /&gt;
&lt;br /&gt;
 Содержимое файла import_csv.py из wiki копировать в режиме редактирования, иначе формат не сохранится.&lt;br /&gt;
=== Настройка Apache ===&lt;br /&gt;
*[http://www.foxhop.net/django-virtualenv-apache-mod_wsgi Django virtualenv Apache2 mod_wsgi]&lt;br /&gt;
*[http://softwaremaniacs.org/forum/django/search/?term=wsgi Форум про Джанго с поиском]&lt;br /&gt;
==Ручная настройка проекта Django в Питоне==&lt;br /&gt;
&lt;br /&gt;
#лучше использовать тарболл..&lt;br /&gt;
#после распаковки тарболла сделать под правами админа python setup.py install&lt;br /&gt;
#в каталоге /usr/lib/python2.6/dist-packages/ создать файл django.pth и в нем указать путь проекта /home/user/portal/&lt;br /&gt;
#под пользователем даем команду создания проекта django.admin.py startproject portal&lt;br /&gt;
#в каталоге проекта (/home/user/portal) для импорта нашего шаблона в urls.py пишем послe первой строки: from portal.views import hello (наша функция hello) и ниже после комментариев ее описываем для вызова через строку в браузере: ('hello/$', hello),&lt;br /&gt;
#в каталоге проекта создаем наш шаблон views.py и в нем соблюдая правильно расстановки и переносы пишем нашу программу с функцией hello&lt;/div&gt;</summary>
		<author><name>imported&gt;Supportadmin</name></author>
	</entry>
</feed>