扩展资料后的用户判断
在后台添加用户资料的模型,在前端页面添加用户判断的条件
M
从models中引入User建立UserProfile模型(用户资料模型)
from django.db import models
from faker import Factory
from django.contrib.auth.models import User
# Create your models here.
class Video(models.Model):
title = models.CharField(null=True, blank=True, max_length=300)
content = models.TextField(null=True, blank=True)
url_image = models.URLField(null=True, blank=True)
cover = models.FileField(upload_to='cover_image', null=True)
editors_choice = models.BooleanField(default=False)
def __str__(self):
return self.title
class UserProfile(models.Model):
belong_to = models.OneToOneField(to=User, related_name='profile')
profile_image = models.FileField(upload_to='profile_image')
# f = open('/Users/Hou/Desktop/web_url.txt','r')
# for url in f.readlines():
# v = Video(
# title=fake.text(max_nb_chars=90),
# content=fake.text(max_nb_chars=3000),
# url_image=url,
# editors_choice=fake.pybool()
# )
# v.save()
admin.py
在admin.py中注册模型
from django.contrib import admin
from website.models import Video, UserProfile
# Register your models here.
admin.site.register(Video)
admin.site.register(UserProfile)
MM
T
列表页面通过判断显示正在登录的用户头像
<div class="item">
<h5 class="ui inverted header">
<span style="margin-right:20px;">{{ request.user.username }}</span>
<div class="ui mini circular image">
{% if request.user.profile.profile_image %}
<img src="/upload/{{ request.user.profile.profile_image }}" alt="" />
{% else %}
<img src="http://semantic-ui.com/images/avatar/small/matt.jpg" alt="" />
{% endif %}
</div>
</h5>
</div>
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="{% static 'css/semantic.css' %}" media="screen" title="no title" charset="utf-8">
<link rel="stylesheet" href="{% static 'css/list_custom.css' %}" media="screen" title="no title" charset="utf-8">
</head>
<body>
<div class="ui inverted top fixed menu borderless red menu">
<div class="header item">
<div class="ui image">
<img src="{% static 'images/tenlogo.png' %}" alt="">
</div>
</div>
<div class="right menu">
{% if request.user.is_authenticated %}
<div class="item">
<h5 class="ui inverted header">
<span style="margin-right:20px;">{{ request.user.username }}</span>
<div class="ui mini circular image">
{% if request.user.profile.profile_image %}
<img src="/upload/{{ request.user.profile.profile_image }}" alt="" />
{% else %}
<img src="http://semantic-ui.com/images/avatar/small/matt.jpg" alt="" />
{% endif %}
</div>
</h5>
</div>
<div class="item">
<a href="#" class="ui inverted circular button">Logout</a>
</div>
{% else %}
<div class="item">
<h5 class="ui inverted header">
<span style="margin-right:20px">{{ request.user.username }}</span>
<div class="ui mini circular image">
<img src="http://semantic-ui.com/images/avatar/small/matt.jpg" alt="" />
</div>
</h5>
</div>
<div class="item">
<a href="#" class="ui inverted circular button">Signup/Login</a>
</div>
{% endif %}
</div>
</div>
<div class="ui inverted segment container nav">
<div class="ui three borderless item menu">
<a class="item" >
All
</a>
<a class="item">
New
</a>
{% if 'editors' in request.path %}
<a class="active item" href="{% url 'list' %}editors">
Editor's
</a>
{% else %}
<a class="item" href="{% url 'list' %}editors">
Editor's
</a>
{% endif %}
</div>
</div>
<div class="ui basic segment container content">
<div class="ui three column grid">
{% for article in vids_list %}
<div class="column">
<a class="ui fluid card" href="{% url 'list' %}">
<div class="image">
{% if article.cover %}
<img src="/upload/{{ article.cover }}" alt="" style="height:200px;object-fit: cover;">
{% else %}
<img src="{{ article.url_image }}" alt="" style="height:200px;object-fit: cover;">
{% endif %}
</div>
</a>
<div class="title header" href="{% url 'list' %}">{{ article.title }}</div>
<i class="icon grey unhide"></i>
<span style="color:#bbbbbb">{{ article.views }}</span>
<span class="" style="color:rgb(226, 226, 226)">|</span>
<i class="icon grey checkmark"></i>
<span style="color:#bbbbbb"> {{ article.favs }} people got it</span>
</div>
{% endfor %}
</div>
</div>
<div class="ui center aligned very padded vertical segment container">
<div class="ui pagination menu">
{% if vids_list.has_previous %}
<a href="?page={{ vids_list.previous_page_number }}" class="item">
<i class="icon red left arrow"></i>
</a>
{% else %}
<a href="?page={{ vids_list.start_index }}" class="disabled item">
<i class="icon left arrow"></i>
</a>
{% endif %}
{% if vids_list.has_next %}
<a href="?page={{ vids_list.next_page_number }}" class="item">
<i class="icon red right arrow"></i>
</a>
{% else %}
<a href="?page={{ vids_list.end_index }}" class="disabled item">
<i class="icon right arrow"></i>
</a>
{% endif %}
</div>
</div>
</body>
</html>
该博客介绍了如何在后台添加用户资料模型,并在前端页面设置用户判断条件,以实现在列表页面显示登录用户的头像。
1万+

被折叠的 条评论
为什么被折叠?



