<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://wiki.welard.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.124.59.52&amp;*</id>
	<title>Wiki Welard - Внесок користувача [uk]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.welard.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.124.59.52&amp;*"/>
	<link rel="alternate" type="text/html" href="https://wiki.welard.com/index.php?title=%D0%A1%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0:%D0%92%D0%BD%D0%B5%D1%81%D0%BE%D0%BA/91.124.59.52"/>
	<updated>2026-10-22T12:36:23Z</updated>
	<subtitle>Внесок користувача</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.welard.com/index.php?title=Css_%D1%85%D0%B0%D0%BA%D0%B8&amp;diff=1729</id>
		<title>Css хаки</title>
		<link rel="alternate" type="text/html" href="https://wiki.welard.com/index.php?title=Css_%D1%85%D0%B0%D0%BA%D0%B8&amp;diff=1729"/>
		<updated>2009-04-22T20:34:31Z</updated>

		<summary type="html">&lt;p&gt;91.124.59.52: Created page with ''''CSS-хаки для браузера Opera'''  html:first-child .style {    background: #F00;  }  /* код валидный */  /* только для Opera &amp;lt; 9.5 */    @medi...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''CSS-хаки для браузера Opera'''&lt;br /&gt;
 html:first-child .style {&lt;br /&gt;
   background: #F00;&lt;br /&gt;
 }&lt;br /&gt;
 /* код валидный */&lt;br /&gt;
 /* только для Opera &amp;lt; 9.5 */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 @media all and (-webkit-min-device-pixel-ratio:10000),&lt;br /&gt;
 not all and (-webkit-min-device-pixel-ratio:0) {&lt;br /&gt;
   .style {background: #F00;}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''CSS-хаки для браузера FireFox'''&lt;br /&gt;
 @-moz-document url-prefix() {&lt;br /&gt;
  .style {background: #F00;}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''CSS-хаки для браузера Internet Explorer 6.0 и ниже'''&lt;br /&gt;
 .style {&lt;br /&gt;
   _background: #F00;&lt;br /&gt;
 }&lt;br /&gt;
 /* код валидный */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CSS-хаки для браузера Internet Explorer 7.0'''&lt;br /&gt;
 *+html .style {&lt;br /&gt;
   background: #F00;&lt;br /&gt;
 }&lt;br /&gt;
 /* код валидный */&lt;br /&gt;
&lt;br /&gt;
'''CSS-хаки для браузера Safari (в том числе Google Chrome)'''&lt;br /&gt;
 body:last-child:not(:root:root) .style {&lt;br /&gt;
   background: #F00;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>91.124.59.52</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.welard.com/index.php?title=Django_FAQ&amp;diff=1728</id>
		<title>Django FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.welard.com/index.php?title=Django_FAQ&amp;diff=1728"/>
		<updated>2009-04-22T08:15:40Z</updated>

		<summary type="html">&lt;p&gt;91.124.59.52: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основні команди та нюанси при роботі з системою [[Django]]  ==&lt;br /&gt;
&lt;br /&gt;
 django-admin.py startproject mysite&lt;br /&gt;
 python manage.py startapp books&lt;br /&gt;
 python manage.py validate&lt;br /&gt;
 python manage.py sqlall books&lt;br /&gt;
 python manage.py syncdb&lt;br /&gt;
 python manage.py inspectdb&lt;br /&gt;
&lt;br /&gt;
Модуль для роботи із зобраденнями на python http://www.pythonware.com/products/pil/ &lt;br /&gt;
&lt;br /&gt;
Створення бази даних &lt;br /&gt;
&lt;br /&gt;
 create database exam2 charset=utf8;&lt;br /&gt;
 ALTER DATABASE exam2 DEFAULT CHARACTER SET 'utf8'&lt;br /&gt;
&lt;br /&gt;
Замінити в базі до полів типу varchar &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;character set utf8 collate utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Куски коду  ==&lt;br /&gt;
&lt;br /&gt;
1. {% cycle 'row1' 'row2'&amp;amp;nbsp;%} &lt;br /&gt;
&lt;br /&gt;
2. Перегрупування в шаблоні&amp;amp;nbsp;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;     {% regroup people by gender as gender_list&amp;amp;nbsp;%}&lt;br /&gt;
     {% regroup people|dictsort:&amp;quot;gender&amp;quot; by gender as gender_list&amp;amp;nbsp;%}&lt;br /&gt;
     &amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
     {% for gender in gender_list&amp;amp;nbsp;%}&lt;br /&gt;
        &amp;amp;lt;li&amp;amp;gt;{{ gender.grouper }}&lt;br /&gt;
        &amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
            {% for item in gender.list&amp;amp;nbsp;%}&lt;br /&gt;
            &amp;amp;lt;li&amp;amp;gt;{{ item.first_name }} {{ item.last_name }}&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
            {% endfor&amp;amp;nbsp;%}&lt;br /&gt;
        &amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
     {% endfor&amp;amp;nbsp;%}&lt;br /&gt;
     &amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
3. Шаблон форми &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;&amp;quot;&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;dl&amp;amp;gt;&lt;br /&gt;
{% for field in form %}&lt;br /&gt;
    &amp;amp;lt;dt&amp;amp;gt;{{ field.label_tag }}{% if field.field.required %}*{% endif %}&amp;amp;lt;/dt&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;dd&amp;amp;gt;{{ field }}&amp;amp;lt;/dd&amp;amp;gt;&lt;br /&gt;
    {% if field.help_text %}&amp;amp;lt;dd&amp;amp;gt;{{ field.help_text }}&amp;amp;lt;/dd&amp;amp;gt;{% endif %}&lt;br /&gt;
    {% if field.errors %}&amp;amp;lt;dd class=&amp;quot;myerrors&amp;quot;&amp;amp;gt;{{ field.errors }}&amp;amp;lt;/dd&amp;amp;gt;{% endif %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;amp;lt;/dl&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/form&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
4. Робота з формою в views.py &lt;br /&gt;
&lt;br /&gt;
 instance = Instance(required_field='value')&lt;br /&gt;
 form = InstanceForm(request.POST, instance=instance)&lt;br /&gt;
 new_instance = form.save()&lt;br /&gt;
&lt;br /&gt;
 instance = form.save(commit=False)&lt;br /&gt;
 instance.required_field = 'new value'&lt;br /&gt;
 new_instance = instance.save()&lt;br /&gt;
&lt;br /&gt;
5. allNodes = Form.serialize(&amp;quot;myform&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
6. Профілі користувачів &lt;br /&gt;
&lt;br /&gt;
 from django.contrib.auth.models import User&lt;br /&gt;
 u = User.objects.get(username='test')&lt;br /&gt;
 profile = u.profile.get()&lt;br /&gt;
&lt;br /&gt;
7. Pagination - розбиття на сторінки &lt;br /&gt;
&lt;br /&gt;
 from django.core.paginator import Paginator&lt;br /&gt;
 objects = ['john', 'paul', 'george', 'ringo']&lt;br /&gt;
 p = Paginator(objects, 2)&lt;br /&gt;
 page1 = p.page(1)&lt;br /&gt;
 page1.object_list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; 8. Багатомовність &lt;br /&gt;
&lt;br /&gt;
    django-admin.py makemessages -l uk&lt;br /&gt;
    django-admin.py compilemessages&lt;br /&gt;
&lt;br /&gt;
9. Групиування в SQL &lt;br /&gt;
&lt;br /&gt;
 qs = Schedule.objects.select_related().filter(pub_date__gte=datetime.now())&lt;br /&gt;
 qs.query.group_by = ['country_id'] #!!!!!!&lt;br /&gt;
 return {'schedule': qs}&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; qs = TumbleItem.objects.all()&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; qs.query.group_by = ['item_type']&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; qs.query.having = ['COUNT(item_type) &amp;amp;gt; 1']&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; item_types = [i.item_type for i in qs]&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; item_types&lt;br /&gt;
&lt;br /&gt;
10. Кешування процедури &lt;br /&gt;
&lt;br /&gt;
 @cached( trigger = { &amp;quot;signal&amp;quot;&amp;amp;nbsp;: ( signals.post_save, signals.post_delete ),&amp;quot;sender&amp;quot;&amp;amp;nbsp;: Post  } )&lt;br /&gt;
 def get_latest_posts():&lt;br /&gt;
     return list( Post.objects.all().order_by( &amp;quot;-date&amp;quot; )[:5] )&lt;br /&gt;
&lt;br /&gt;
11. Дописування методів в адмінку &lt;br /&gt;
&lt;br /&gt;
    def remove(self):&lt;br /&gt;
        from django.core.urlresolvers import reverse&lt;br /&gt;
        return '&amp;amp;lt;a href=&amp;quot;%s&amp;quot; class=&amp;quot;deletelink&amp;quot;&amp;amp;gt;Delete&amp;amp;lt;/a&amp;amp;gt;'&amp;amp;nbsp;% reverse( &amp;quot;django.contrib.admin.views.main.delete_stage&amp;quot;,&lt;br /&gt;
            args = ( self.__class__._meta.app_label, self.__class__.__name__.lower(), self._get_pk_val(), ) )&lt;br /&gt;
    remove.allow_tags = True&lt;br /&gt;
&lt;br /&gt;
12. Приклад WSGI &lt;br /&gt;
&lt;br /&gt;
 sys.stdout = sys.stderr&lt;br /&gt;
 import os, sys&lt;br /&gt;
 sys.path.append('/usr/lib/python2.4/site-packages/django')&lt;br /&gt;
 sys.path.append('/var/www/paradise/paradise')&lt;br /&gt;
 sys.path.append('/var/www/paradise')&lt;br /&gt;
 os.environ['DJANGO_SETTINGS_MODULE'] = 'paradise.settings'&lt;br /&gt;
 import django.core.handlers.wsgi&lt;br /&gt;
 application = django.core.handlers.wsgi.WSGIHandler()&lt;br /&gt;
&lt;br /&gt;
13. Профілі користувачів &lt;br /&gt;
&lt;br /&gt;
 from django.contrib import admin&lt;br /&gt;
 from profile.models import UserProfile&lt;br /&gt;
 from django.contrib.auth.models import User&lt;br /&gt;
 class ProfileInline(admin.StackedInline):&lt;br /&gt;
     model = UserProfile&lt;br /&gt;
     extra = 1&lt;br /&gt;
     max_num = 1&lt;br /&gt;
&lt;br /&gt;
 class ProfileAdmin(admin.ModelAdmin):&lt;br /&gt;
     inlines = (ProfileInline,)&lt;br /&gt;
     admin.site.unregister(User)  #!!!&lt;br /&gt;
     admin.site.register(User, ProfileAdmin)&lt;br /&gt;
&lt;br /&gt;
14. Профілі 2 &lt;br /&gt;
&lt;br /&gt;
 from django.contrib.auth.models import User&lt;br /&gt;
 User.add_to_class('department',models.CharField(max_length=250,blank=True))&lt;br /&gt;
 User.add_to_class('position',models.CharField(max_length=250,blank=True))&lt;br /&gt;
 User._meta.admin.fields += (('Custom', {'fields': ('department','position',)}),)&lt;br /&gt;
 User._meta.admin.list_display += ('department','position',)&lt;br /&gt;
 def get_user_name(self):&lt;br /&gt;
     if self.first_name or self.last_name:&lt;br /&gt;
         return self.first_name + &amp;quot; &amp;quot; + self.last_name&lt;br /&gt;
     return self.username&lt;br /&gt;
 User.add_to_class(&amp;quot;get_user_name&amp;quot;,get_user_name)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; 15. Якщо є яйця в пітоні &lt;br /&gt;
&lt;br /&gt;
 /etc/sysconfig/httpd&lt;br /&gt;
 export PYTHON_EGG_CACHE=&amp;quot;/var/cache/python-eggs&amp;quot; &lt;br /&gt;
&lt;br /&gt;
16. Кеш в Django &lt;br /&gt;
добавити в апач конфігурацію&lt;br /&gt;
 &amp;lt;IfModule mod_expires.c&amp;gt;&lt;br /&gt;
     &amp;lt;FilesMatch &amp;quot;\.(jpg|gif|png|css|js)$&amp;quot;&amp;gt;&lt;br /&gt;
          ExpiresActive on&lt;br /&gt;
          ExpiresDefault &amp;quot;access plus 3 days&amp;quot;&lt;br /&gt;
     &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
у файлі views.py:&lt;br /&gt;
 from django.views.decorators.cache import cache_page&lt;br /&gt;
 ....&lt;br /&gt;
 @cache_page(60 * 15)&lt;br /&gt;
 def show_page(request, url=None, page_num=0):&lt;br /&gt;
     ....&lt;br /&gt;
     ....&lt;br /&gt;
у файлі admin.py:&lt;br /&gt;
 from django.core.cache import cache&lt;br /&gt;
 from django.conf import settings&lt;br /&gt;
 ....     &lt;br /&gt;
 def save_model(self, request, obj, form, change):&lt;br /&gt;
     cache.delete('views.decorators.cache.cache_header.%s./%s/' % (settings.CACHE_MIDDLEWARE_KEY_PREFIX, obj.url))&lt;br /&gt;
     obj.save()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
17. Корзина &lt;br /&gt;
&lt;br /&gt;
 def delete(self, trash=True):&lt;br /&gt;
     if not self.trashed_at and trash:&lt;br /&gt;
         self.trashed_at = datetime.now()&lt;br /&gt;
         self.save()&lt;br /&gt;
     else:&lt;br /&gt;
         super(SomeModel, self).delete()&lt;br /&gt;
&lt;br /&gt;
18. Використання unordered_list &lt;br /&gt;
&amp;lt;pre&amp;gt;['States', ['Kansas', ['Lawrence', 'Topeka'], 'Illinois']], then {{ var|unordered_list }} would return:&lt;br /&gt;
&amp;amp;lt;li&amp;amp;gt;States&lt;br /&gt;
&amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;li&amp;amp;gt;Kansas&lt;br /&gt;
        &amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;li&amp;amp;gt;Lawrence&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;li&amp;amp;gt;Topeka&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;li&amp;amp;gt;Illinois&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.124.59.52</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.welard.com/index.php?title=Django_FAQ&amp;diff=1727</id>
		<title>Django FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.welard.com/index.php?title=Django_FAQ&amp;diff=1727"/>
		<updated>2009-04-22T07:58:52Z</updated>

		<summary type="html">&lt;p&gt;91.124.59.52: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основні команди та нюанси при роботі з системою [[Django]]  ==&lt;br /&gt;
&lt;br /&gt;
 django-admin.py startproject mysite&lt;br /&gt;
 python manage.py startapp books&lt;br /&gt;
 python manage.py validate&lt;br /&gt;
 python manage.py sqlall books&lt;br /&gt;
 python manage.py syncdb&lt;br /&gt;
 python manage.py inspectdb&lt;br /&gt;
&lt;br /&gt;
Модуль для роботи із зобраденнями на python http://www.pythonware.com/products/pil/ &lt;br /&gt;
&lt;br /&gt;
Створення бази даних &lt;br /&gt;
&lt;br /&gt;
 create database exam2 charset=utf8;&lt;br /&gt;
 ALTER DATABASE exam2 DEFAULT CHARACTER SET 'utf8'&lt;br /&gt;
&lt;br /&gt;
Замінити в базі до полів типу varchar &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;character set utf8 collate utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Куски коду  ==&lt;br /&gt;
&lt;br /&gt;
1. {% cycle 'row1' 'row2'&amp;amp;nbsp;%} &lt;br /&gt;
&lt;br /&gt;
2. Перегрупування в шаблоні&amp;amp;nbsp;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;     {% regroup people by gender as gender_list&amp;amp;nbsp;%}&lt;br /&gt;
     {% regroup people|dictsort:&amp;quot;gender&amp;quot; by gender as gender_list&amp;amp;nbsp;%}&lt;br /&gt;
     &amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
     {% for gender in gender_list&amp;amp;nbsp;%}&lt;br /&gt;
        &amp;amp;lt;li&amp;amp;gt;{{ gender.grouper }}&lt;br /&gt;
        &amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
            {% for item in gender.list&amp;amp;nbsp;%}&lt;br /&gt;
            &amp;amp;lt;li&amp;amp;gt;{{ item.first_name }} {{ item.last_name }}&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
            {% endfor&amp;amp;nbsp;%}&lt;br /&gt;
        &amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
     {% endfor&amp;amp;nbsp;%}&lt;br /&gt;
     &amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
3. Шаблон форми &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;&amp;quot;&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;dl&amp;amp;gt;&lt;br /&gt;
{% for field in form %}&lt;br /&gt;
    &amp;amp;lt;dt&amp;amp;gt;{{ field.label_tag }}{% if field.field.required %}*{% endif %}&amp;amp;lt;/dt&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;dd&amp;amp;gt;{{ field }}&amp;amp;lt;/dd&amp;amp;gt;&lt;br /&gt;
    {% if field.help_text %}&amp;amp;lt;dd&amp;amp;gt;{{ field.help_text }}&amp;amp;lt;/dd&amp;amp;gt;{% endif %}&lt;br /&gt;
    {% if field.errors %}&amp;amp;lt;dd class=&amp;quot;myerrors&amp;quot;&amp;amp;gt;{{ field.errors }}&amp;amp;lt;/dd&amp;amp;gt;{% endif %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;amp;lt;/dl&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/form&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
4. Робота з формою в views.py &lt;br /&gt;
&lt;br /&gt;
 instance = Instance(required_field='value')&lt;br /&gt;
 form = InstanceForm(request.POST, instance=instance)&lt;br /&gt;
 new_instance = form.save()&lt;br /&gt;
&lt;br /&gt;
 instance = form.save(commit=False)&lt;br /&gt;
 instance.required_field = 'new value'&lt;br /&gt;
 new_instance = instance.save()&lt;br /&gt;
&lt;br /&gt;
5. allNodes = Form.serialize(&amp;quot;myform&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
6. Профілі користувачів &lt;br /&gt;
&lt;br /&gt;
 from django.contrib.auth.models import User&lt;br /&gt;
 u = User.objects.get(username='test')&lt;br /&gt;
 profile = u.profile.get()&lt;br /&gt;
&lt;br /&gt;
7. Pagination - розбиття на сторінки &lt;br /&gt;
&lt;br /&gt;
 from django.core.paginator import Paginator&lt;br /&gt;
 objects = ['john', 'paul', 'george', 'ringo']&lt;br /&gt;
 p = Paginator(objects, 2)&lt;br /&gt;
 page1 = p.page(1)&lt;br /&gt;
 page1.object_list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; 8. Багатомовність &lt;br /&gt;
&lt;br /&gt;
    django-admin.py makemessages -l uk&lt;br /&gt;
    django-admin.py compilemessages&lt;br /&gt;
&lt;br /&gt;
9. Групиування в SQL &lt;br /&gt;
&lt;br /&gt;
 qs = Schedule.objects.select_related().filter(pub_date__gte=datetime.now())&lt;br /&gt;
 qs.query.group_by = ['country_id'] #!!!!!!&lt;br /&gt;
 return {'schedule': qs}&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; qs = TumbleItem.objects.all()&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; qs.query.group_by = ['item_type']&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; qs.query.having = ['COUNT(item_type) &amp;amp;gt; 1']&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; item_types = [i.item_type for i in qs]&lt;br /&gt;
    &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; item_types&lt;br /&gt;
&lt;br /&gt;
10. Кешування процедури &lt;br /&gt;
&lt;br /&gt;
 @cached( trigger = { &amp;quot;signal&amp;quot;&amp;amp;nbsp;: ( signals.post_save, signals.post_delete ),&amp;quot;sender&amp;quot;&amp;amp;nbsp;: Post  } )&lt;br /&gt;
 def get_latest_posts():&lt;br /&gt;
     return list( Post.objects.all().order_by( &amp;quot;-date&amp;quot; )[:5] )&lt;br /&gt;
&lt;br /&gt;
11. Дописування методів в адмінку &lt;br /&gt;
&lt;br /&gt;
    def remove(self):&lt;br /&gt;
        from django.core.urlresolvers import reverse&lt;br /&gt;
        return '&amp;amp;lt;a href=&amp;quot;%s&amp;quot; class=&amp;quot;deletelink&amp;quot;&amp;amp;gt;Delete&amp;amp;lt;/a&amp;amp;gt;'&amp;amp;nbsp;% reverse( &amp;quot;django.contrib.admin.views.main.delete_stage&amp;quot;,&lt;br /&gt;
            args = ( self.__class__._meta.app_label, self.__class__.__name__.lower(), self._get_pk_val(), ) )&lt;br /&gt;
    remove.allow_tags = True&lt;br /&gt;
&lt;br /&gt;
12. Приклад WSGI &lt;br /&gt;
&lt;br /&gt;
 sys.stdout = sys.stderr&lt;br /&gt;
 import os, sys&lt;br /&gt;
 sys.path.append('/usr/lib/python2.4/site-packages/django')&lt;br /&gt;
 sys.path.append('/var/www/paradise/paradise')&lt;br /&gt;
 sys.path.append('/var/www/paradise')&lt;br /&gt;
 os.environ['DJANGO_SETTINGS_MODULE'] = 'paradise.settings'&lt;br /&gt;
 import django.core.handlers.wsgi&lt;br /&gt;
 application = django.core.handlers.wsgi.WSGIHandler()&lt;br /&gt;
&lt;br /&gt;
13. Профілі користувачів &lt;br /&gt;
&lt;br /&gt;
 from django.contrib import admin&lt;br /&gt;
 from profile.models import UserProfile&lt;br /&gt;
 from django.contrib.auth.models import User&lt;br /&gt;
 class ProfileInline(admin.StackedInline):&lt;br /&gt;
     model = UserProfile&lt;br /&gt;
     extra = 1&lt;br /&gt;
     max_num = 1&lt;br /&gt;
&lt;br /&gt;
 class ProfileAdmin(admin.ModelAdmin):&lt;br /&gt;
     inlines = (ProfileInline,)&lt;br /&gt;
     admin.site.unregister(User)  #!!!&lt;br /&gt;
     admin.site.register(User, ProfileAdmin)&lt;br /&gt;
&lt;br /&gt;
14. Профілі 2 &lt;br /&gt;
&lt;br /&gt;
 from django.contrib.auth.models import User&lt;br /&gt;
 User.add_to_class('department',models.CharField(max_length=250,blank=True))&lt;br /&gt;
 User.add_to_class('position',models.CharField(max_length=250,blank=True))&lt;br /&gt;
 User._meta.admin.fields += (('Custom', {'fields': ('department','position',)}),)&lt;br /&gt;
 User._meta.admin.list_display += ('department','position',)&lt;br /&gt;
 def get_user_name(self):&lt;br /&gt;
     if self.first_name or self.last_name:&lt;br /&gt;
         return self.first_name + &amp;quot; &amp;quot; + self.last_name&lt;br /&gt;
     return self.username&lt;br /&gt;
 User.add_to_class(&amp;quot;get_user_name&amp;quot;,get_user_name)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; 15. Якщо є яйця в пітоні &lt;br /&gt;
&lt;br /&gt;
 /etc/sysconfig/httpd&lt;br /&gt;
 export PYTHON_EGG_CACHE=&amp;quot;/var/cache/python-eggs&amp;quot; &lt;br /&gt;
&lt;br /&gt;
16. Кеш в Django &lt;br /&gt;
добавити в апач конфігурацію&lt;br /&gt;
 &amp;lt;IfModule mod_expires.c&amp;gt;&lt;br /&gt;
     &amp;lt;FilesMatch &amp;quot;\.(jpg|gif|png|css|js)$&amp;quot;&amp;gt;&lt;br /&gt;
          ExpiresActive on&lt;br /&gt;
          ExpiresDefault &amp;quot;access plus 3 days&amp;quot;&lt;br /&gt;
     &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
у файлі views.py:&lt;br /&gt;
 from django.views.decorators.cache import cache_page&lt;br /&gt;
 ....&lt;br /&gt;
 @cache_page(60 * 15)&lt;br /&gt;
 def show_page(request, url=None, page_num=0):&lt;br /&gt;
     ....&lt;br /&gt;
     ....&lt;br /&gt;
у файлі admin.py:&lt;br /&gt;
 from django.core.cache import cache&lt;br /&gt;
 from django.conf import settings&lt;br /&gt;
 ....     &lt;br /&gt;
 def save_model(self, request, obj, form, change):&lt;br /&gt;
     cache.delete('views.decorators.cache.cache_header.%s./%s/' % (settings.CACHE_MIDDLEWARE_KEY_PREFIX, obj.url))&lt;br /&gt;
     obj.save()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 from django.core.cache import cache&lt;br /&gt;
 try:&lt;br /&gt;
    cache._cache.clear()	# in-memory caching&lt;br /&gt;
 except AttributeError:&lt;br /&gt;
    # try filesystem caching next&lt;br /&gt;
    old = cache._cull_frequency&lt;br /&gt;
    old_max = cache._max_entries&lt;br /&gt;
    cache._max_entries = 0&lt;br /&gt;
    cache._cull_frequency = 1&lt;br /&gt;
    cache._cull()&lt;br /&gt;
    cache._cull_frequency = old&lt;br /&gt;
    cache._max_entries = old_max&lt;br /&gt;
&lt;br /&gt;
17. Корзина &lt;br /&gt;
&lt;br /&gt;
 def delete(self, trash=True):&lt;br /&gt;
     if not self.trashed_at and trash:&lt;br /&gt;
         self.trashed_at = datetime.now()&lt;br /&gt;
         self.save()&lt;br /&gt;
     else:&lt;br /&gt;
         super(SomeModel, self).delete()&lt;br /&gt;
&lt;br /&gt;
18. Використання unordered_list &lt;br /&gt;
&amp;lt;pre&amp;gt;['States', ['Kansas', ['Lawrence', 'Topeka'], 'Illinois']], then {{ var|unordered_list }} would return:&lt;br /&gt;
&amp;amp;lt;li&amp;amp;gt;States&lt;br /&gt;
&amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;li&amp;amp;gt;Kansas&lt;br /&gt;
        &amp;amp;lt;ul&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;li&amp;amp;gt;Lawrence&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;li&amp;amp;gt;Topeka&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;li&amp;amp;gt;Illinois&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/ul&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/li&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.124.59.52</name></author>
		
	</entry>
</feed>