如何在一个网址中处理多个视图?

时间:2019-10-07 17:12:47

标签: python django-forms django-views django-urls django-2.2

我正在开发的主页上,到目前为止,一个URL具有两个视图 我该如何处理? 我将制作文章和表格以在同一页面上获取用户信息。

urls.py

from django.urls import path
from . import views

app_name = "LandingPage"

urlpatterns = [
    path('', views.form_page, name='form_page'),

]

views.py

from django.shortcuts import render, redirect
from django.utils import timezone
from multiurl import ContinueResolving
from .models import Article
from .forms import UserForm


# Article
def form_page(request):
    posts = Article.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
    return render(request, 'LandingPage/form_page.html', {'posts': posts})

# Add User
def user(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('LandingPage:form_page')
    else:
        form = UserForm()
    return render(request, 'LandingPage/user.html', {'form': form})

1 个答案:

答案 0 :(得分:1)

在urls.py中添加的只是一个视图(但是您写了两个视图)。 您可以将这两种视图功能合而为一,并与模板相同。

i