Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[Patch] Dtwitter crash if user not logged

Ouverte
#443 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 5 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
django, python

Piste de recherche

Ouvrez dwitter-part-4/source_code_final/dwitter/views.py et examinez la vue du dashboard autour de l'accès à request.user.profile. Reproduisez la requête du navigateur non authentifiée, puis vérifiez qu'elle redirige vers la page de connexion de l'administrateur au lieu de lever l'exception AnonymousUser.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

ℹ️ Please note that the best way to get support for Real Python courses & articles is to join one of our weekly Office Hours calls or in the RP Community Slack.

You can report issues and problems here, but we typically won't be able to provide 1:1 support outside the channels listed above.

Describe the bug
If you get from part-4 the source final and load in the browser you get:

Traceback (most recent call last):
  File "/var/www/dtwitter/myvenv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/dtwitter/myvenv/lib/python3.11/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/dtwitter/dwitter/views.py", line 17, in dashboard
    user__profile__in=request.user.profile.follows.all()
                      ^^^^^^^^^^^^^^^^^^^^
  File "/var/www/dtwitter/myvenv/lib/python3.11/site-packages/django/utils/functional.py", line 247, in inner
    return func(self._wrapped, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'AnonymousUser' object has no attribute 'profile'

Fix

The first lines of the file https://github.com/realpython/materials/blob/master/dwitter-part-4/source_code_final/dwitter/views.py#L7 should be:

from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required

from .forms import DweetForm
from .models import Dweet, Profile

@login_required(login_url='/admin/')
def dashboard(request):
    form = DweetForm(request.POST or None)

In this way automatically if the user is not logged get redirect to the admin for login, maybe there are better ways as it is just a prototype, but a prototype shouldn't crash.

Langage dominant
Jupyter Notebook
Étoiles
5.2k
Forks
5.3k
Merge moyen
5 j 4 h
PR mergées (30 j)
15

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de realpython/materials

Toutes les issues de realpython/materials

Issues similaires

Plus d'issues Security

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.