У меня возникли проблемы при работе с путями в Django. У меня есть python опыт, но не Django опыт вообще.
Вот что у меня есть
templates/AppName/base.html
<header id="header">
<div id="logo">
<div id="top_menu">
Home | Calendar | About |
<a href="/contactus">Contact Us</a>
</div>
</div>
</header>
template/AppName/contact_us.html
{% extends 'Orchestrator/base.html' %}
{% block content %}
<h2>New post</h2>
<form method="POST" class="post-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
{% endblock %}
AppName/urls.py
from django.urls import path
from . import views
app_name = 'AppName'
urlpatterns = [
path('', views.index, name='index'),
path('contactus/', views.contact_us, name='contactus')
]
AppName/views.py
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from .forms import ContactUs
def index(request):
return render(request, 'AppName/base.html')
# Forms #
def contact_us(request):
form = ContactUs()
return render(request, 'AppName/contact_us.html', {'form': form})
AppName/forms.py
from django import forms
class ContactUs(forms.Form):
firstname = forms.CharField(max_length=100)
lastname = forms.CharField(max_length=100)
urls.py
(Root один )
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('AppName/', include('AppName.urls')),
path('admin/', admin.site.urls),
]
Итак, рендеринг начальной страницы, то есть 127.0.0.1:8000/AppName
работает просто отлично, но когда я хочу, чтобы кнопка Contact Us
перенаправила на AppName/contactus
, Django
фактически перенаправляет в 127.0.0.1/contactus
.
Есть идеи, как решить эту проблему?
РЕДАКТИРОВАТЬ: Добавлено root/urls.py