#python #django #django-urls
#python #django #django-urls
Вопрос:
В этом приложении django я пытаюсь перейти на определенную страницу, но выбранный маршрут неверен. Не могли бы вы, пожалуйста, сказать мне, что я делаю не так.
Пример. От http://127.0.0.1:8000 Я пытаюсь перейти к http://127.0.0.1:8000/register но это приводит меня к http://127.0.0.1:8000/dashboard/register.
http://127.0.0.1:8000/register ссылка работает нормально, хотя, если я введу ее вручную.
views.py
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def home(request):
return render(request, 'formfiller/home.html')
def register(request):
return render(request, 'formfiller/signup.html')
def login(request):
return render(request, 'formfiller/login.html')
def download(request):
return render(request, 'formfiller/download.html')
def forgotpw(request):
return render(request, 'formfiller/forgotpw.html')
def learnmore(request):
return render(request, 'formfiller/learnmore.html')
def dashboard(request):
return render(request, 'formfiller/dashboard.html')
def success(request):
return HttpResponse("Your account has been successfully created.")
urls.py (для приложения)
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('register', views.register, name='signup'),
path('login', views.login, name='login'),
path('download', views.download, name='download'),
path('forgotpw', views.forgotpw, name='forgotpw'),
path('learnmore', views.learnmore, name='learnmore'),
path('dashboard', views.dashboard, name='dashboard'),
path('success', views.success, name='success'),
]
urls.py (для основного проекта)
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('formfiller.urls')),
path('register/', include('formfiller.urls')),
path('login/', include('formfiller.urls')),
path('download/', include('formfiller.urls')),
path('forgotpw/', include('formfiller.urls')),
path('learnmore/', include('formfiller.urls')),
path('success/', include('formfiller.urls')),
path('dashboard/', include('formfiller.urls')),
]
Комментарии:
1. Пожалуйста, отметьте ответ как принятый, если он правильный.
Ответ №1:
Вы должны использовать include('formfiller.urls')
только один раз.
urls.py (для приложения)
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('register', views.register, name='signup'),
path('login', views.login, name='login'),
path('download', views.download, name='download'),
path('forgotpw', views.forgotpw, name='forgotpw'),
path('learnmore', views.learnmore, name='learnmore'),
path('dashboard', views.dashboard, name='dashboard'),
path('success', views.success, name='success'),
]
urls.py (для основного проекта)
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('formfiller.urls')),
]
Комментарии:
1. Большое спасибо за помощь.