-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdjango-photologue.html
276 lines (238 loc) · 11.8 KB
/
django-photologue.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
<!DOCTYPE html>
<!--[if IE 8 ]><html class="ie ie8" lang="ru"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<html lang="ru">
<!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="author" content="Косолапов Дмитрий">
<meta name="google-site-verification" content="yJ35ns77j5pUPUutyBdAd5CwjqK3TGn5prTlyf2LlSo">
<title>Косолапов Дмитрий: мысли умные и не только. - django-photologue: установка и настройка</title>
<link href="https://dicos.ru/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Косолапов Дмитрий: мысли умные и не только. Full Atom Feed" />
<link href="https://dicos.ru/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="Косолапов Дмитрий: мысли умные и не только. Full RSS Feed" />
<!-- CSS -->
<link rel="stylesheet" href="https://dicos.ru/theme/css/style.css">
<!-- Custom CSS -->
<link rel="stylesheet" href="https://dicos.ru/theme/css/colors/blue.css" id="colors">
<!-- Code highlight color scheme -->
<link href="https://dicos.ru/theme/css/code_blocks/darkly.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<meta property="og:locale" content="">
<meta property="og:site_name" content="Косолапов Дмитрий: мысли умные и не только.">
<meta property="og:type" content="article">
<meta property="article:author" content="">
<meta property="og:url" content="https://dicos.ru/django-photologue.html">
<meta property="og:title" content="django-photologue: установка и настройка">
<meta property="og:description" content="">
<meta property="og:image" content="https://dicos.ru/images/guilherme-toti.jpg">
<meta property="article:published_time" content="2010-03-08 23:30:00+06:00">
</head>
<body>
<header id="header">
<!-- Container -->
<div class="container">
<!-- Logo / Mobile Menu -->
<div class="nine.columns columns">
<div id="logo">
<h1><a href="https://dicos.ru/">Косолапов Дмитрий: мысли умные и не только.</a></h1>
</div>
</div>
<!-- Navigation
================================================== -->
<div class="seven columns">
<nav id="navigation" class="menu">
<ul id="responsive">
<li><a href="https://dicos.ru/">Главная</a></li>
<li><a href="https://dicos.ru/about.html">Обо мне</a></li>
</ul>
</nav>
</div>
</div>
<!-- Container / End -->
</header>
<!-- Header / End -->
<div id="content-wrapper">
<section id="titlebar">
<!-- Container -->
<div class="container">
<div class="sixteen columns">
<nav id="breadcrumbs">
<ul>
<li>Текущее нахождение:</li>
<li><a href="https://dicos.ru/">Главная</a></li>
<li><a href="https://dicos.ru/category/python.html">python</a></li>
<li>django-photologue: установка и настройка</li>
</ul>
</nav>
</div>
</div>
<!-- Container / End -->
</section>
<div class="container">
<div class="twelve alt columns">
<article class="post" style="margin: 0; border: 0;">
<section class="post-content">
<header class="meta">
<h2><a href="https://dicos.ru/django-photologue.html">django-photologue: установка и настройка</a></h2>
<ul>
<li>By <a href="https://dicos.ru/author/admin.html">admin</a></li>
<li>Пн 08 Март 2010</li>
</ul>
</header>
<p>Наткнулся на готовую фото
галерею «<a class="reference external" href="http://code.google.com/p/django-photologue/">django-photologue</a>»
для джанги. Мне она приглянулась по нескольким причинам:</p>
<ul class="simple">
<li>полностью готовое приложение;</li>
<li>есть возможность накладывать водные знаки на фотографии;</li>
<li>добавлять эффекты (а-ля мокрый пол), разворачивать изображения;</li>
<li>готовая админка и все сопутствующие блага цивилизации.</li>
</ul>
<p>Ко всему прочему, хорошая
<a class="reference external" href="http://code.google.com/p/django-photologue/w/list">документация</a>,
скачать можно как с svn-а так и в виде
<a class="reference external" href="http://code.google.com/p/django-photologue/downloads/list">архива</a>.</p>
<p>Установка не совсем простая, хотя этот процесс описан в документации.
Кратко опишу свои действия:</p>
<ol class="arabic simple">
<li>через терминал устанавливаем само приложение;</li>
<li>копируем каталог с шаблонами этого приложения в каталог шаблонов
своего приложения;</li>
<li>в файле settings.py указываем путь до файла sample.jpg. Этот файл
также находится в дистрибутиве.</li>
</ol>
<p>Недостатком можно отметить отсутствие поддержки названий водных знаков
на русском языке, о которой я уже
<a class="reference external" href="http://code.google.com/p/django-photologue/issues/detail?id=152&sort=status">сообщил</a>.</p>
<p>Еще с одной трудностью столкнулся, что у меня вместо пред просмотра
фотографий была надпись «An "admin_thumbnail" photo size has not been
defined.». Эта проблема решилась запуском «python manage.py plinit» и
вводом параметров изображений:</p>
<blockquote>
<p><a class="reference external" href="mailto:dmitry@dmitry-desktop">dmitry@dmitry-desktop</a>:~/web/nskgarant$ python manage.py plinit</p>
<div class="line-block">
<div class="line">Photologue requires a specific photo size to display thumbnail
previews in the Django admin application.</div>
<div class="line">Would you like to generate this size now? (yes, no):yes</div>
</div>
<p>We will now define the "admin_thumbnail" photo size:</p>
<div class="line-block">
<div class="line">Width (in pixels):80</div>
<div class="line">Height (in pixels):60</div>
<div class="line">Crop to fit? (yes, no):yes</div>
<div class="line">Pre-cache? (yes, no):yes</div>
<div class="line">Increment count? (yes, no):no</div>
</div>
<p>A "admin_thumbnail" photo size has been created.</p>
<p>Would you like to apply a sample enhancement effect to your admin
thumbnails? (yes, no):yes</p>
<div class="line-block">
<div class="line">Photologue comes with a set of templates for setting up a complete
photo gallery. These templates require you to define both a
"thumbnail" and "display" size.</div>
<div class="line">Would you like to define them now? (yes, no):yes</div>
</div>
<p>We will now define the "thumbnail" photo size:</p>
<div class="line-block">
<div class="line">Width (in pixels):80</div>
<div class="line">Height (in pixels):60</div>
<div class="line">Crop to fit? (yes, no):yes</div>
<div class="line">Pre-cache? (yes, no):yes</div>
<div class="line">Increment count? (yes, no):no</div>
</div>
<p>A "thumbnail" photo size has been created.</p>
<p>We will now define the "display" photo size:</p>
<div class="line-block">
<div class="line">Width (in pixels):800</div>
<div class="line">Height (in pixels):600</div>
<div class="line">Crop to fit? (yes, no):yes</div>
<div class="line">Pre-cache? (yes, no):yes</div>
<div class="line">Increment count? (yes, no):no</div>
</div>
<p>A "display" photo size has been created.</p>
<p>Would you like to apply a sample reflection effect to your display
images? (yes, no):yes</p>
</blockquote>
<p>Сперва спрашиваются нужно ли показывать в админке уменьшенные
изображения. В случае положительного ответа запрашивается ширина,
высота, нужно ли обрезать изображения, кешировать ли уменьшенные
изображения и ставить ли на картинках номера изображений. Следующий
вопрос о том, стоит ли применить внесенные изменения к текущим
изображениям.</p>
<p>Далее задаются вопросы о том, стоит ли задать значения для уменьшенного
«большого» изображений. Смысл вводимых параметров совпадает с
перечисленными выше.</p>
<div class="sharing">
</div>
<hr>
</section>
<div class="clearfix"></div>
</article>
</div>
<!-- Sidebar -->
<div class="four columns">
</div>
</div>
<!-- Container / End -->
</div>
<!-- Content Wrapper / End -->
<div id="footer-bottom">
<!-- Container -->
<div class="container">
<div class="eight columns">Blog powered by <a href="http://getpelican.com">Pelican</a></div>
<div class="eight columns">
<ul class="social-icons-footer">
<li>
<a href="#" class="tooltip top" title="You can add links in your config file">
<i class="icon-you can add links in your config file"></i>
</a>
</li>
<li>
<a href="#" class="tooltip top" title="Another social link">
<i class="icon-another social link"></i>
</a>
</li>
<li><a href="https://dicos.ru/feeds/all.atom.xml" class="tooltip top" title="RSS"><i class="icon-rss"></i></a></li>
</ul>
</div>
</div>
<!-- Container / End -->
</div>
<!-- Footer Bottom / End -->
<!-- Javascripts -->
<script src="https://dicos.ru/theme/js/jquery.min.js"></script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter14462131 = new Ya.Metrika({
id:14462131,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://mc.yandex.ru/metrika/watch.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/14462131" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --> </body>
</html>