除了粘贴新的url,还有更好的方法在Django的视图之间切换吗?

时间:2019-01-10 23:32:51

标签: python django django-views

我正在学习使用Django构建我的Web应用程序。我想通过索引页面上的链接访问另一个页面,但是浏览器始终将文件和应用程序名称附加到请求中。 如何让浏览器切换链接而无需每次都附加目录名?

我尝试将reg exp与旧的url方法一起使用,但似乎无法正常工作

#   My project
#   urls.py     
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('index.urls')),


]
#  My app
#  urls.py
urlpatterns = [
    path('index/',include([
        path('', views.index,name="index"),
        path('theteam', views.theteam,name="theteam"),
        path('services',views.services,name="services"),
        path('quotes',views.quotes,name="quotes"),
        path('insurance',views.insurance,name="insurance"),
        path('contact',views.contact,name="contact"),
        path('thanks', views.thanks,name="thanks"),

        ])),


]

# Views
def index(request):
    return render(request, 'index/index.html')

def theteam(request):
    return render(request, 'index/theteam.html')

def services(request):
    return render(request, 'index/services.html')

def quotes(request):
    form = ContactForm(request.POST or None)
    if request.method == 'POST':
        return redirect(request, '/thanks/')

    return render(request, 'index/quotes.html',  { 'form': form })

def insurance(request):
    return render(request, 'index/insurance.html')

def contact(request):
    return render(request, 'index/contact.html')

def thanks(request):
    return render(request, '/thanks.html')

#My Views HTML
 <div class="menu-bar ">
     <ul>
           <a href="{% url 'services' %}"> <li>Services</li></a>
           <a href="{% url 'theteam' %}"><li>The Team</li> </a>
           <a href="{% url 'quotes' %}"><li>Quotes</li> </a>
           <a href="{% url 'insurance' %}"> <li>Insurance</li></a>
           <a href="{% url 'contact' %}"><li>Contact Us</li></a>
     </ul>
     </div>

到目前为止,我只需将“ / index / template /”粘贴到浏览器中就可以访问每个页面,但是我无法在使用链接之间进行切换。我的预期结果是能够使用链接在页面之间进行切换。

1 个答案:

答案 0 :(得分:0)

在您的应用urls.py中,在urlpatterns上方添加一行,如下所示:

app_name = your_app_name

然后,在您的html文件中更改

{% url 'services' %}

{% url 'your_app_name:services' %}