跟大妈学Django Part - 9 (Django入门续集9)
继续整理Emobox的页面吧。今天的目标是显示数据哦。
开始之前,先回去给导航添加一下EmoBox的链接,上次只添加在主体上,忘记给导航上也添加上了。
<!-- feelings summary -->
<li class="nav-item">
<a class="nav-link" href="{% url 'emobox' %}">
EmoBox
</a>
</li>
然后还发现了一个问题,这个RecordEmo的页面应该要登录了才能看到的,落了设定了。
回去RecordEmo views.py 加上decorator就搞定了。是不是超级简单。加完了以后,如果没有登录的用户点RecordEmo的按钮就会被传去登录页面。
/workspace/how-do-you-do/recordemo/views.py
from django.contrib.auth.decorators import login_required
@login_required
又发现了问题。。。。。1
忘记设置了,注册的时候无法检测邮件。
Error: [Errno 101] Network is unreachable
/workspace/how-do-you-do/hdyd/settings.py
DEBUG = 'DEVELOPMENT' in os.environ
DEBUG = True
if 'DEVELOPMENT' in os.environ:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
DEFAULT_FROM_EMAIL = 'hdyd@example.com'
else:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASS')
DEFAULT_FROM_EMAIL = os.environ.get('EMAIL_HOST_USER')
又发现了问题。。。。。2
登录了以后,不知道是谁登录的,很麻烦,所以,在导航加上了登录的用户名
<li class="nav-item me-3 me-lg-0">
<a class="nav-link" href="#" rel="nofollow">
<span class="text-warning">{{ user }}</span>
<i class="fa-solid fa-user"></i>
</a>
</li>
没有登录的用户会显示未注册用户,登录成功的用户会根据用户设定的名字显示。这样就知道是谁登录了。
继续EmoBox页面,导出database
/workspace/how-do-you-do/emobox/views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from recordemo.forms import AddFeelingForm
from recordemo.models import AddFeeling
# Create your views here.
@login_required
def EmoBox(request):
emobox_feeling = AddFeeling.objects.all()
context = {
'emobox_feeling': emobox_feeling,
}
return render(request, 'emobox/emobox.html', context)