URL-адрес django из другого шаблона, чем тот, который связан с функцией просмотра - PullRequest
0 голосов
/ 29 мая 2010

Привет, у меня есть, например, функция просмотра, как это:

def profile_view(request, id):
    u = UserProfile.objects.get(pk=id)
return render_to_response('profile/publicProfile.html', {
    'object_list': u,

    }, 
    context_instance=RequestContext(request)) 

и URL: URL (г '^ profile_view / (? P \ d +) / $', profile_view, имя = 'profile_view'),

Моя проблема в том, что я хочу использовать URL-адрес функции, например, в другом шаблоне в шаблоне поиска в блоге, где люди видят сообщения некоторых людей и хотят перейти к своему профилю. вид поиска может выглядеть так:

def searchn(request):
query = request.GET.get('q', '')
if query:
    qset = (
        Q(post__iexact=query) 
            )
    results = New.objects.filter(qset).distinct()
else:
    results = []
return render_to_response('news/searchn.html',{        
'results': results,
'query': query},
context_instance=RequestContext(request))

и шаблон:

{% if query%}

Результаты для "{{query | escape}}":

{% if results %}
  <ul>
  {% for object in results %}
    <li>{{ object.post }} <a href='../../accounts/profile_view/{{object.id}}/'>  {{ object.created_by }} </a> {{object.date}} </li> 
  {% endfor %}
  </ul>
{% else %}
  <p>No posts found</p>
{% endif %}

{% endif%}

там, в create_by, я хотел бы поместить ссылку на мой профиль пользователя, но представление профиля пользователя не «указывает» на этот шаблон. Что мне делать? Спасибо!

Ответы [ 2 ]

1 голос
/ 29 мая 2010

Обычно вы не вызываете модель или не просматриваете функции из шаблона, вы ссылаетесь на URL-адреса, которые, в свою очередь, отправляются для просмотра функций.

0 голосов
/ 29 мая 2010

Дана: Надеюсь, я правильно понимаю вашу проблему, но если вы хотите использовать данные из двух «функций», вы можете достичь того же метода, создав модель, которая связывает два поля данных, которые вы используете вместе, используя внешний ключ.

Так что у вас будет

class MyCustomModel(models.Model):
  profile = models.ForeignKey(Profile, unique=True)
  otherdata = models.CharField("Some other field", blank=True, null=True)

Затем вы можете назвать свой взгляд на эту модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...