views.py
from .models import Slide
def slider(request):
context = {'slides': Slide.objects.all()}
return render(
request,
'main.html',
# context???
context
)
{% for slide in slides %}
<div class="item lifted">
<img class="lazyOwl" data-src="{{ slide.image.url }}">
<div class="caption-content">
<h1 class="caption lifted">{{ slide.header }} </h1><br>
<p class="caption2 lifted">{{ slide.caption }}</p>
</div>
</div>
{%endfor%}
log_format main '$remote_addr|$time_local]|$request|$request_time|$upstream_response_time|'
'$status|$body_bytes_sent|$http_referer|'
'$http_user_agent';
I include the --profiler option too
--profiler pycall
--profiler pyline
they will write function timings in the logs. You can analize logs to find
bottleneck (not an easy task, but it should be doable investing a bit of
time in log parser)
def view_foo(request):
return render(request, 'foo.html', {
'student': Student.objects.get(pk=request.user.pk),
'rates': RatingActive.objects.filter(pk=request.user.pk)
})
<h1>{{ student.get_full_name() }}
<ul>
{% for r in rates %}
<li>{{ r.subject }} - {{ r.rating_five_mark }}
{% endfor %}
def __str__(self):
def __unicode__(self):
Т.е. как например задать такой запрос фильтру: "У меня есть 15 000 000 р., что я могу на них купить",
но наверняка существует способ отфильтроватьв общем случае - нет
#models.py
class Blah1(Model):
# action_id =pk
name = TextField
action = TextField
data = DataTime
blah2 = OneToOneField('Blah2')
class Blah2(Model):
# action_id =pk
result = TextField
# urls.py
# ....
url(r'^show-blah/(?P<pk>\d+)$', view_show_blah, name="view_show_blah"),
# ....
#templates/show-blah.html
<body>
{{ blah }} <br>
{{ blah.name }} {{ blah.data }} {{ blah.blah2.result }}
</body>
#views.py
def view_show_blah(request, pk):
context = {'blah': get_object_or_404(Blah2, pk=pk)}
return render(request, 'show-blah.html', context)
os.path.join(os.getcwd()
url(r'^whatever/$', view_whatever, name='view_name'),
<div id="place" data-load-from="{% url "view_name" %}"></div>
var $place = $( "#place" );
$place.load( $place.data('load-from') );
from settings import DEBUG, MEDIA_URL, MEDIA_ROOT
if DEBUG:
urlpatterns += static(MEDIA_URL, document_root=MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
reverse
c jobpost_detail
и темплейтам без параметра P
{% url 'jobpost_detail' %}
def __unicode__(self): # python 2
def __str__(self): # python 3
Так же буду благодарен за хорошую инструкцию отображающихся миниатюр изображений в админке
# ....
url(r'^$', index_view, name='index'),
# ...
def index_view(request):
return render(request, 'index.html')
...
<a href="{% url "index" %}">
...
лёгкостизачем легкость если можно запустить много контейнеров с приложение и ускориться сильнее чем от любой оптимизации
гибкостипхп тоже гибкий, очень гибкий, такая гибкость дает говнокодить с особой гибкостью
отсутствия строгостиозначает, что за тобой придет разраб, которому не понравится твоя "схема" и придется все переписывать
Такое ТЗ. Например, один веб-сервис получает некоторый .xls файл, парсит его, выдаёт на форму данные оттуда.
Или как такое сделать?
Book:
title = text
# some fields
versions = M2M(BookVersion)
BookVersion:
title = text
# some fields
user_changed = FK(User)
User:
#
UserBookVersion:
book = FK(Book)
user = FK(User)
content = jsonField()
A process will never free memory addressing space once it has requested it from the OS
CELERYD_TASK_TIME_LIMIT = 600
def asdf(request):
print request.GET
#urls
# url(r'^(?P<tag>[\w-]+)$', views.TagView, name='tag'),
url(r'^/$', views.TagView, name='tag'),
# views
your_get_params_here = self.request.GET
<form method=get>
<input type=hidden name=tag value=Food>
<input type=submit>