Python 成功过帐数据后显示Django模板
我的Django模板有问题: forms.py:Python 成功过帐数据后显示Django模板,python,html,django,templates,model,Python,Html,Django,Templates,Model,我的Django模板有问题: forms.py: class SupportForm(forms.Form): name = forms.CharField() message = forms.CharField() models.py: class Message(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) name =
class SupportForm(forms.Form):
name = forms.CharField()
message = forms.CharField()
models.py:
class Message(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
message = models.CharField(max_length=100)
def __str__(self):
return self.user.username
views.py:
class my_view(LoginRequiredMixin, View):
def get(self, request, *args, **kwargs):
try:
messages = Message.objects.filter(user=request.user)
context = {
'object': messages,
}
return render(self.request, 'my.html', context)
except:
return render(request, "my.html",{})
def post(self, request, *args, **kwargs):
form = SupportForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
message = form.cleaned_data['message']
message_model = Message(
user=request.user,
name = name,
message = message,
)
message_model.save()
return redirect('/my/')
class my_view(ListView):
model = Message
template_name = "my.html"
def post(self, request, *args, **kwargs):
form = SupportForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
message = form.cleaned_data['message']
message_model = Message(
user=request.user,
name = name,
message = message,
)
message_model.save()
return redirect('/my/')
my.html:
object:{{ objects }}<br>
name:{{objects.name.1}}<br>
message:{{objects.message.1}}<br>
{% for item in objects_list %}
{{ item.name }}
{% endfor %}
{% for item in object_list %}
{{ item.name }}
{{ item.message|safe }}
<br>
{% endfor %}
object:{{objects}}
名称:{{objects.name.1}}
消息:{{objects.message.1}}
{对象中项目的%u列表%}
{{item.name}
{%endfor%}
我想在html中发布名称和消息,然后在“输入”下显示它。邮局很好。然后我想显示我的名字和信息。
问题在于用html查看我的对象:我什么都看不见。我做错了什么?在上下文变化中
context = {
'objects': messages,
}
在HTML中
{% for object in objects %}
name:{{object.name}}<br>
message:{{object.message}}<br>
{% endfor %}
{%for objects%}
名称:{{object.name}}
消息:{{object.message}}
{%endfor%}
您将其称为对象
而不是对象
试试看,让我知道编辑:正在工作
views.py:
class my_view(LoginRequiredMixin, View):
def get(self, request, *args, **kwargs):
try:
messages = Message.objects.filter(user=request.user)
context = {
'object': messages,
}
return render(self.request, 'my.html', context)
except:
return render(request, "my.html",{})
def post(self, request, *args, **kwargs):
form = SupportForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
message = form.cleaned_data['message']
message_model = Message(
user=request.user,
name = name,
message = message,
)
message_model.save()
return redirect('/my/')
class my_view(ListView):
model = Message
template_name = "my.html"
def post(self, request, *args, **kwargs):
form = SupportForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
message = form.cleaned_data['message']
message_model = Message(
user=request.user,
name = name,
message = message,
)
message_model.save()
return redirect('/my/')
my.html:
object:{{ objects }}<br>
name:{{objects.name.1}}<br>
message:{{objects.message.1}}<br>
{% for item in objects_list %}
{{ item.name }}
{% endfor %}
{% for item in object_list %}
{{ item.name }}
{{ item.message|safe }}
<br>
{% endfor %}
{%用于对象列表%中的项]
{{item.name}
{{item.message | safe}}
{%endfor%}
我在前面注意到了这一点,但遗憾的是它并没有解决这一问题。您可以尝试使用消息:{{object.message}}而不使用1直到什么都没有发生。将视图更改为ListView解决了问题。