[Patch] Dtwitter crash if user not logged
Maintainer antworten meist innerhalb von 5 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- Unter einer Stunde
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- django, python
- Bereich
- authentication, backend
Rechercherichtung
Öffne dwitter-part-4/source_code_final/dwitter/views.py und untersuche die Dashboard-View im Bereich des Zugriffs auf request.user.profile. Stelle die nicht authentifizierte Browseranfrage nach und überprüfe anschließend, dass sie zum Admin-Login weiterleitet, anstatt die AnonymousUser-Ausnahme auszulösen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
ℹ️ 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.
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 5.2k
- Forks
- 5.3k
- Ø Merge
- 5 T. 4 Std.
- Gemergte PRs (30 T.)
- 15
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus realpython/materials
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
realpython/materials#729 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
пOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 1/100
realpython/materials#763 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 55/100
realpython/materials#738 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 45/100
realpython/materials#737 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
проект2Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
realpython/materials#725 ·
Maintainer antworten meist innerhalb von 5 Tagen
Alle Issues in realpython/materials
Ähnliche Issues
-
bug(services): classifySBOMStatus misclassifies UnsupportedSchema as generic ReasonSBOMGenerationFailedEvtl. vergeben @bhuvan-somisetty hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Mend: dependency security vulnerability untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
opensearch-project/OpenSearch-Dashboards#12878 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ubreakifix.comOffenUnsorted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
AdguardTeam/AdguardFilters#243331 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Vault: trim whitespace from VAULT_K8S_TOKEN_PATH and VAULT_K8S_AUTH_PATHEvtl. vergeben @lb1192176991-lab hat das heute übernommen. Offengood first issue hacktoberfest help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
libredb/libredb-studio#1291 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
elsa-workflows/elsa-core#8593 ·
Maintainer antworten meist innerhalb von 1 Tag