用户帐户匹配查询不存在

2024-04-26 12:55:39 发布

您现在位置:Python中文网/ 问答频道 /正文

当我打开这篇文章时,我有一个错误

UserAccount matching query does not exist

视图.py

class ArticleDetailView(DetailView, CategoryAndArticleListMixin):

    model = Article
    template_name = 'post_detail.html'

    def get_context_data(self, *args, **kwargs):

        context = super(ArticleDetailView, self).get_context_data(*args, **kwargs)
        context['article'] = self.get_object()
        context['article_comments'] = self.get_object().comments.all()
        context['form'] = CommentForm
        context['current_user'] = UserAccount.objects.get(user=self.request.user) #probably where the error arises
        return context

我的用户帐户模型

型号.py

class UserAccount(models.Model):

    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING)
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)
    email = models.EmailField()
    favorite_articles = models.ManyToManyField(Article)

    def __str__(self):
        return self.user.username

    def get_absolute_url(self):
        return reverse('account_user', kwargs={'user': self.user.username})

网址.py

urlpatterns = [
    url(r'^$', CategoryListView.as_view(), name='base_view'),
    url(r'category/(?P<slug>[-\w]+)/$', CategoryDetailView.as_view(), name='category-detail'),
    url(r'account_user/(?P<user>[-\w]+)/$', UserAccountView.as_view(), name='account_user'),
    url(r'(?P<category>[-\w]+)/(?P<slug>[-\w]+)/$', ArticleDetailView.as_view(), name='article-detail'),
    url(r'show_article_image/$', DynamicArticleImageView.as_view(), name='article_image'),
    url(r'add_comment/$', CreateCommentView.as_view(), name='add_comment'),
    url(r'display_articles_by_category$', DisplayArticlesByCategoryView.as_view(), name='articles_by_category'),
    url(r'user_reaction$', UserReactionView.as_view(), name='user_reaction'),
    url(r'registration/$', RegistrationView.as_view(), name='registration'),
    url(r'login/$', LoginView.as_view(), name='login'),]

和html代码,我使用我的逻辑 发布_详细信息.html

<p class="add_to_favorites {{ article.slug }}">

        {% if article in current_user.favorite_articles.all %}
        <button class="btn btn-disabled">Добавлено в избранное</button>
        {% else %}
        <a href=""><button class="btn btn-danger">Добавить в избранное</button></a>
        {% endif %}

有人能帮我解决这个问题吗?


Tags: nameselfviewurlgetmodelsascontext