【发布时间】:2017-04-19 01:03:25
【问题描述】:
嘿,伙计们,我想做类似这个问题的事情,但我看不出我的代码有什么问题。 Something like this question。我只是想为我的网站创建一个个人资料页面,我想在个人资料页面上添加所有用户帖子,但我似乎无法让它工作。我尝试使用谷歌搜索解决方案,甚至尝试了其他 stackoverflow 问题,但如果答案正确,则无法解决。如果有人可以帮助我,我将不胜感激。谢谢。
我也知道它与我链接的问题相同,但下面是我尝试解决方案中的人所做的事情,但我似乎并没有让它发挥作用,并且悲伤地研究了几个小时,但是什么我可以说还在学习吗:p
models.py
from django.db import models
from django.contrib.auth.models import User
def upload_location(posts, filename):
return ("%s/%s" %(posts.author, filename))
class Post(models.Model):
title = models.CharField(max_length=200)
image = models.ImageField(upload_to=upload_location, null=True, blank=True, height_field="height_field", width_field="width_field")
height_field = models.IntegerField(default=0)
width_field = models.IntegerField(default=0)
description = models.TextField()
pub_date = models.DateTimeField(auto_now=False)
author = models.ForeignKey(User)
votes_total = models.IntegerField(default=0)
def __unicode__(self):
return self.user.username
def pub_date_pretty(self):
return self.pub_date.strftime('%b %d %Y')
views.py,我正在从另一个应用程序导入我的 Post 类,所以我确实认为这可能是问题所在。
from posts.models import Post
def view_profile(request):
logged_in_user = request.user
logged_in_user_posts = Post.objects.filter(user=author)
return render(request, 'accounts/profile.html', {'posts': logged_in_user_posts})
html文件
<div>
{% for post in posts %}
Post: {{ post.author }}
<br>
{% endfor %}
</div>
urls.py
from django.conf.urls import url
from . import views
app_name = 'accounts'
urlpatterns = [
url(r'^register/', views.signup, name="signup"),
url(r'^login/', views.loginuser, name="login"),
url(r'^logout/', views.logoutview, name="logout"),
url(r'^profile/', views.view_profile, name="viewprofile"),
]
在阅读下面发布的第一个答案后添加
在查看下面的以下帖子后,我得到了这个错误:
FileNotFoundError at /accounts/profile/ [Errno 2] 没有这样的文件或目录:'C:\Users\Mohamed\Desktop\thegallerybox\media_cdn\imagee
我收到此错误是因为在我的 html 文件中我没有从媒体文件夹中的用户文件夹调用用户图像。我正在根据我的 models.py 中显示的作者上传图片,所以我认为这可能与在 html 文件中获取图片有关
def upload_location(posts, filename):
return ("%s/%s" %(posts.author, filename))
【问题讨论】: