Я пишу допускающее повторное использование приложение. И я хочу развернуть его несколько раз.
Вот urls.py:
urlpatterns = patterns('',
(r'^carphotos/', include('webui.photos.urls', app_name='car-photos') ),
(r'^userphotos/', include('webui.photos.urls', app_name='profile-photos') ),)
и photos/urls.py:
urlpatterns = patterns('webui.photos.views',
url(r'^$', album_list, name="album-list" )
url(r'^newalbum/$', album_page, {'create': True}, name="album-create"),)
На представлении album_list я хочу показать URL для создания нового альбома album_page.
Я нашел, что должен использовать параметр current_app обратной функции для получения надлежащего URL.
Но как получить этот current_app? Я думал, что ответ является чем-то простым. Но я не могу найти его в django документации.
Спасибо, Nick
$now = time(); // or your date as well
$your_date = strtotime("2010-01-31");
$datediff = $now - $your_date;
echo round($datediff / (60 * 60 * 24));
-121--1785625- Используется:)
$days = (strtotime($endDate) - strtotime($startDate)) / (60 * 60 * 24);
print $days;
Теперь он работает
-121--1785644-Изучив эту тему в течение нескольких дней, я обнаружил, что не естественно монтировать приложение джанго более одного раза.
Имеется реализация подключаемых приложений, образец: http://github.com/nowells/django-pluggables . Это выглядит слишком сложно для меня.
Поэтому я решил перенести повторяющиеся функциональные возможности на пользовательские тэги и дублирующие шаблоны для каждого использования моего приложения. Я надеюсь, что использование пользовательских тэгов и расширение функции помогут мне следовать принципу DRY.
]В ваших урлах есть другое []имя_приложения [
], хотя это одно и то же приложение. Установите []app_name[
] на то же самое, и установите []namespace[
] уникально для каждого экземпляра. Например[
urlpatterns = patterns('',
(r'^carphotos/', include('webui.photos.urls', app_name="webui_photos", namespace='car-photos') ),
(r'^userphotos/', include('webui.photos.urls', app_name="webui_photos", namespace='profile-photos') ),)
]
[]Затем укажите аргумент []current_app[
] при использовании обратного. Смотрите []http://docs.djangoproject.com/en/dev/topics/http/urls/#reverse[] и []http://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces[][
] [редактирование] после повторного прочтения вопроса:[
] []вам не нужно указывать аргумент []current_app[
], если вы используете тег []{% url %}[
]. Насколько я могу судить, она автоматически получит доступ к шаблонной переменной с именем []current_app[
], которая автоматически устанавливается на основе сопоставленного url.[
Луа может быть хорошим решением. Мне действительно интересно, насколько сложной может быть интеграция вашего механизма правил с языком сценариев, который позволяет пользователям писать свои собственные правила.
Хорошим подходом может быть встраивание всего (механизм правил тоже) в интерпретатор сценариев, в противном случае вы бы написали много кода, чтобы объединить то, что пользователь записывает в сценарий, с соответствующими правилами, используемыми в вашей программе.
Однако то , чтобы намереваться такая программируемость требует большого внимания к тому, что ваш язык должен быть в состоянии сделать, начиная с небольшого ядра утилит и затем расширяя его; или вы действительно можете многое планировать, прежде чем начать всю реализацию, но для моего опыта (я писал, как 3-4 переводчика до сих пор) лучший способ - это подогнать его при разработке, конечно, с обратной связью пользователей: это будет необходимо, потому что вы можете предположить, насколько они хороши, но я бы на это не рассчитывал.
-121--3926539-Я обычно делаю что-то подобное:
$("#my-div a").click(function(){
var match;
if (match = $(this).attr('id').match(/link-(\d+)/)) {
var number = parseInt(match[1],10);
alert(number);
}
});
-121--4716683- Я считаю, что это то, для чего сайты
рамок.