var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var assemblyPath = assembly.GetFiles()[0].Name;
var assemblyDir = System.IO.Path.GetDirectoryName(assemblyPath);
Включите плоские страницы в корневой urlconf:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
('^pages/', include('django.contrib.flatpages.urls')),
)
Затем, по вашему мнению, вы можете вызвать обратный вызов следующим образом:
from django.core.urlresolvers import reverse
reverse('django.contrib.flatpages.views.flatpage', kwargs={'url': '/about-us/'})
# Gives: /pages/about-us/
В шаблонах используйте тег {% url%} (который вызывает обратный внутренне):
<a href='{% url django.contrib.flatpages.views.flatpage url="/about-us/" %}'>About Us</a>
Напишите ваши основные URL-адреса conf, чтобы они указывали на ваши плоские страницы. Предположим, он находится под страницами:
urlpatterns = patterns('',
...
url(r'^pages/', include('project.pages.urls')),
...
)
Затем напишите ваши плоские страницы как обычно:
urlpatterns = patterns('django.views.generic.simple',
url(regex=r'^resume/$', view='direct_to_template', kwargs={'template': 'resume.html'}, name='resume'),
url(regex=r'^about/$', view='direct_to_template', kwargs={'template': 'about.html'}, name='about'),
url(regex=r'^books/$', view='direct_to_template', kwargs={'template': 'library.html'},name='books'),
)
Тогда ваш шаблон просто ссылается на них обычным образом:
<div id="pages">
...
<div class="pagelinks">
<a href="{% url about %}">ABOUT</a>
</div>
</div>
Я думал, что преимущество Flatpages в том, что вам не нужно создавать какие-либо заглушки просмотра или подтверждения URL-адресов? В противном случае это немного бессмысленно ... если ты ... https://github.com/0sn/nameremoved/wiki/flatpages
Единственным истинным ответом является , от которого зависит .
Подготовленные высказывания - прекрасные звери, когда речь заходит о MySQL. Существует большое количество факторов, определяющих кэширование подготовленной инструкции.
Общая идея заключается в том, что если версия < 5,1,17, подготовленная инструкция никогда не кэшируется в кэше запроса, а если используется > = 5,1,17, это зависит от .
См. следующую страницу в руководстве MySQL 5,1:
http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html
-121--2404228- Обычно существуют преобразования времени выполнения, так как битовые представления, как правило, не совместимы (за исключением того, что двоичные 0, как правило, 0 и 0,0). Стандарты C и C++ имеют отношение только к значению, а не к представлению и определяют в целом разумное поведение. Помните, что большое значение int
обычно не может быть точно представлено в float
, а большое значение float
не может быть представлено как int
.
Поэтому:
Все преобразования по значению, а не по биту узоров. Не беспокойся о узорах.
Не беспокойтесь об энданнесе, так как это вопрос побитового представления.
Преобразование int
в float
может потерять точность, если целое значение является большим в абсолютном значении; он менее вероятен с двойным
, так как двойной
более точен и может представлять много более точных чисел. (Детали зависят от того, какие представления система фактически использует.)
Определения языка ничего не говорят о битовых узорах.
Преобразование float
в int
также является вопросом значений, а не бит узоров. Точная плавающая точка 2.0 будет преобразована в интеграл 2, потому что именно так настраивается реализация, а не из-за битовых узоров.
Предпочитаю следующее решение (требуется Джанго > = 1,0).
settings.py
INSTALLED_APPS+= ('django.contrib.flatpages',)
urls.py
urlpatterns+= patterns('django.contrib.flatpages.views',
url(r'^about-us/$', 'flatpage', {'url': '/about-us/'}, name='about'),
url(r'^license/$', 'flatpage', {'url': '/license/'}, name='license'),
)
[...]
<a href="{% url about %}"><span>{% trans "About us" %}</span></a>
<a href="{% url license %}"><span>{% trans "Licensing" %}</span></a>
[...]
from django.core.urlresolvers import reverse
[...]
reverse('license')
[...]
Это путь вам не нужно использовать django.contrib.flatpages.middleware.FlatpageFallbackMiddleware
, и реверс работает как обычно, не записывая столько кода, сколько в других решениях.
Ура.
Когда вы создаете любую плоскую страницу, вам нужно указать URL, который сохраняется как часть модели. Таким образом, вы можете получить URL из любого объекта плоской страницы. В шаблоне:
{{ flatpage.url }}
Ремаппинг URL плоских страниц в urls.py
, а затем необходимость использовать обратное как бы уничтожает цель приложения flatpages.