Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [PYTHON] Redirect alla app di default in Django

    ciao!

    sto seguendo il tutorial su django, che mi ha fatto creare una app all'interno del progetto.
    il problema è che quando avvio il server di test, e vado su http://127.0.0.1:8000/
    codice:
         Page not found (404)     
    Request Method: GET
    Request URL: http://127.0.0.1:8000/
    Using the URLconf defined in matteoferrone.urls, Django tried these URL patterns, in this order:
    1. mf/
    2. admin/
    The empty path didn't match any of these. You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
    ovviamente gli altri due urls funzionano.
    come faccio a dirgli di fare il redirect in automatico da http://127.0.0.1:8000/ a http://127.0.0.1:8000/mf ???

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Negli urls, hai settato quello vuoto con “”?

  3. #3
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Negli urls, hai settato quello vuoto con “”?
    ciao!
    così pare funzionare:
    codice:
    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('', include('mf.urls')),
        path('mf/', include('mf.urls')),
        path('admin/', admin.site.urls),
    ]
    intendevi questo??

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Esattamente

  5. #5
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Esattamente
    ottimo grazie!

  6. #6
    ciao!

    ho notato che da quanto ho modificato come dici, mi appare questo warning in console:
    codice:
    WARNINGS:
    ?: (urls.W005) URL namespace 'mf' isn't unique. You may not be able to reverse all URLs in this namespace
    dovrei risolverlo, o posso lasciarlo così?
    in caso come risolvo?

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Dipende, se vuoi usare il reverse degli url puoi usare una redirect view, qui lo spiega in sintesi
    https://realpython.com/django-redire...simple-example

  8. #8
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Dipende, se vuoi usare il reverse degli url puoi usare una redirect view, qui lo spiega in sintesi
    https://realpython.com/django-redire...simple-example
    ciao!

    sinceramente non ho capito granchè.
    o meglio, mi manca qualche passaggio.

    questo è il mio views.py:
    codice:
    from django.views import generic
    from .models import Lavori
    from django.shortcuts import redirect
    
    
    class IndexView(generic.ListView):
        template_name = 'mf/index.html'
    context_object_name = 'lavori'
    
    def get_queryset(self):
            return Lavori.objects.all()
    
    
    class DetailView(generic.DetailView):
        context_object_name = 'lavori'
    template_name = 'mf/detail.html'
    
    def get_queryset(self, **kwargs):
            return Lavori.objects.filter(pk=self.kwargs['pk'])
    
    
    def redirect_view(request):
        response = redirect('/redirect-success/')
        return response
    cosa dovrei mettere nel redirect come argomento??

    per quanto riguarda la parte dell'urlòs.py, ho due domande:
    - parla di quello generale o di quello specifico della app?

    quello mio specifico è questo:
    codice:
    from django.urls import path
    from . import views
    
    app_name = 'mf'
    urlpatterns = [
        path('', views.IndexView.as_view(), name='index'),
        path('<int:pk>/', views.DetailView.as_view(), name='detail'),
    ]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.