Как отобразить аватар пользователя на всех шаблонах (django) я использую base.html - PullRequest
0 голосов
/ 14 января 2019

Привет всем, я хочу закончить свой проект, используя django Проблема в том, как заставить изображение аватара появляться во всех шаблонах проекта

Если аватар отображается в одном шаблоне, например: www.site.com/index другой не работает www.site.com/page2/page3 ...... помогите мне, пожалуйста, я устаю за это

вот мой model.py

 class author(models.Model):

   name = models.ForeignKey(User, on_delete=models.CASCADE)

   profile_picture = models.ImageField(blank=True, upload_to='Avatar')


   def __str__(self):
      return self.name

 class articles(models.Model):
    article_author = models.ForeignKey(User, on_delete=models.CASCADE)
    category = models.ForeignKey(Category, null=True, blank=True, on_delete=models.CASCADE)
    avatar = models.ForeignKey(author, on_delete=models.CASCADE)

base.html

    <!-- when loggedin -->
    {% if request.user.is_authenticated %}
      <li class="nav-item dropdown my-2">
        <a class="nav-link dropdown-toggle " data-toggle="dropdown" href="" id="themes" > {{full_name}}  <span class="caret"></span>
        <img class="rounded-circle"  src="{{ user.author.profile_picture.url }}" style="max-width: 2em; margin-right: 10px;"> </a>
        <div class="dropdown-menu" aria-labelledby="themes">

          <div class="dropdown-divider"></div>
                <a class="dropdown-item" href="/profile/">profile</a>
                <a class="dropdown-item" href="/create/" >add post</a>
                <a class="dropdown-item" href="#" style="margin-top: 1em;" data-toggle="modal" data-target="#exampleModal">logOut</a>             
           </div>
       </li>
   {% else %}
   <!-- end loggedin -->

views.py

   # open home page
   def index(request):
       authorUser = get_object_or_404(author, name=request.user.id)
       all_articles = articles.objects.all().order_by('-id')

       solo = articles.objects.order_by('-id')[:1]
       solo1 = articles.objects.order_by('-id')[:3]
       #show five articles plus read
       article_read = articles.objects.order_by('id')[:5]
       #show spicial articles
       # show first article
       first = articles.objects.order_by('-id')[:10]

       # show fourth articles
       fourth = articles.objects.order_by('-id')[:4]


       return render(request, 'home/index.html', {
                                      'full_name': request.user.username, 
                                       'first_article':first, 
                                       'fourth_article':fourth, 
                                       'all_articles': all_articles, 
                                       'five_articles': article_read, 
                                       'solo': solo, 
                                       'solo1': solo1,
                                       'user': authorUser
                                     })  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...