[Patch] Dtwitter crash if user not logged
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- django, python
- Ambito
- authentication, backend
Direzione di ricerca
Apri dwitter-part-4/source_code_final/dwitter/views.py e analizza la view del dashboard intorno all'accesso a request.user.profile. Riproduci la richiesta del browser non autenticata, quindi verifica che reindirizzi al login dell'amministratore invece di generare l'eccezione AnonymousUser.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
ℹ️ 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.
- Lingua principale
- Jupyter Notebook
- Stelle
- 5.2k
- Fork
- 5.3k
- Merge medio
- 4g 10h
- PR unite (30g)
- 10
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di realpython/materials
-
Ruff lints the whole repo Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
realpython/materials#729 ·
-
п Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 1/100
realpython/materials#763 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 55/100
realpython/materials#738 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 45/100
realpython/materials#737 ·
-
проект2 Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
realpython/materials#725 ·
Tutte le issue di realpython/materials
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
punkpeye/mcp-remote#369 ·
-
Mend: dependency security vulnerability untriaged
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
CVE-2024-24786 CPE mismatch Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
cisagov/vulnrichment#337 ·
-
bug DUP Reservations
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
bcgov/reserve-rec-public#896 ·