【发布时间】:2018-11-26 22:36:40
【问题描述】:
有人可以检查我应该如何正确编写views.py部分吗?
如果我编码:
from django.shortcuts import render, redirect
def shifts_table(request):
print(request.POST['value'])
return render(request, 'shifts_table.html', {})
...至少页面可以运行,但是如果我像下面这样的代码它不会运行,知道为什么吗?
from django.shortcuts import render, redirect
from django.contrib import messages
def shifts_table(request):
if request.method == 'POST':
number = request.POST['value']
if number.is_valid():
number.save()
return redirect('shifts_table.html')
else:
messages.success(request, ('Seems Like There Was An Error...'))
return render(request, 'home.html', {})
else:
return render(request, 'shifts_table.html', {})
home.html:
<form action="{% url 'shifts_table' %}" method='POST'>
{% csrf_token %}
<label for='number'>Number:</label>
<input type="number" name="value" placeholder="2020" required><br/>
<button type="submit">submit</button>
</form>
urls.py:
urlpatterns = [
path('', views.home, name='home'),
path('shifts_table', views.shifts_table, name='shifts_table'),
]
【问题讨论】:
-
但如果我像下面这样的代码不会 - 当您运行该代码时会发生什么?
-
ERR_CONNECTION_REFUSED .... 就像我对我们的同事 Amine 评论的那样,我想提交任何数字,将其发布并保存为时间变量“数字”,以便在 other.py 中进行一些简单的计算(将来)。是否可以在不创建对象和模型的情况下发布整数并保存它?
-
您不能在一个请求中设置变量并在另一个请求中访问它。您可以将数据保存在会话、cookie 或缓存中,然后在另一个视图中重新获取。
标签: python django python-3.x django-templates django-views