Django 将参数从一个视图传递到另一个视图
我的问题很简单,我需要将一个值从一个视图传递到另一个视图,而访问者无法看到URL中的值。这是我的密码: views.pyDjango 将参数从一个视图传递到另一个视图,django,django-urls,django-url-reverse,Django,Django Urls,Django Url Reverse,我的问题很简单,我需要将一个值从一个视图传递到另一个视图,而访问者无法看到URL中的值。这是我的密码: views.py def home(request, message=None): plats = Plat.objects.all() return render(request, 'actualites/home.html', {'last_meals': plats, 'message': message}) @login_required def proposer
def home(request, message=None):
plats = Plat.objects.all()
return render(request, 'actualites/home.html', {'last_meals': plats, 'message': message})
@login_required
def proposer_plat(request):
try:
a = request.user.chef
if request.method == "POST":
form = PlatForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect(home)
else:
form = PlatForm()
return render(request, 'actualites/proposer_plat.html', {'form': form})
except ObjectDoesNotExist:
message = "Vous devez être enregistré comme chef pour effectuer cette action"
return redirect(home, message=message)
url.py
urlpatterns = [
path('', views.home, name = 'home'),
path('meal/<int:id>', views.display, name = 'display'),
path('date', views.date_actuelle, name = 'date'),
path('contact', views.contact, name = 'contact'),
path('connexion', views.connexion, name = 'connexion'),
path('deconnexion', views.deconnexion, name = 'deconnexion'),
path('inscription', Inscription.as_view(), name = 'inscription'),
path('proposer-plat', views.proposer_plat, name = 'proposer-plat')
]
urlpatterns=[
路径(“”,views.home,name='home'),
路径('MEIN/',views.display,名称='display'),
路径('date',views.date_actuelle,name='date'),
路径('contact',views.contact,name='contact'),
路径('connexion',views.connexion,name='connexion'),
路径('deconnexion',views.deconnexion,name='deconnexion'),
路径(“铭文”,铭文.as_view(),名称=“铭文”),
路径('proposer-plat',views.proposer\u plat,name='proposer plat')
]
因此,这里我需要将变量消息的值从“proposer_plat”视图传递到“home”视图。实际上我得到了一个NoReverseMatch错误。我知道我可以做路径('/',views.home,name='home'),
,但是这样,消息将显示在URL中,如果不在URL中提供消息,我将无法访问“home”视图。我想我可以使用request(带POST或其他东西)来传递值,但我确实是Django的初学者,尽管我做了很多研究,但我不知道怎么做
有人能告诉我怎么做吗(如果可能的话,举个例子)?Django有专门针对这一点的功能:。不过,对于视图之间更一般的传递,您可以使用会话。使用消息,我可以做我想做的事情,非常感谢!我还有一个问题,你说的“更一般的传球”是什么意思?我这样问是因为它在以后的项目中可能会很有用。我只是想传递非消息的东西,例如表单中的元素,您不想立即保存到数据库中。好的,我明白了,谢谢!