如何让 Django 在浏览器中呈现?

How can I make Django render in the browser?

我正在尝试使用 Django forms.ModelForm 函数。但是,我无法让它在浏览器中呈现(经过 Firefox 和 Chrome 测试)。在两种浏览器代码检查中,table\form 都没有显示,并且根本没有来自 Django 的错误。 html 文件中唯一显示的是 "Save button" 我在这里遗漏了什么吗?

在Models.py

from django.db import models


class Product_sell_create(models.Model):
    product_product_sell = models.CharField(max_length=120)
    product_price_sell = models.DecimalField(decimal_places=2, max_digits=500)
    product_volume_sell = models.DecimalField(decimal_places=2, max_digits=500)
    product_location_sell = models.CharField(max_length=120)
    product_description_sell = models.TextField(blank=False, null=False)

Forms.py

from django import forms
from .models import Product_sell_create

class ProductName(forms.ModelForm):
    class Meta:
        model = Product_sell_create
        fields = [
            'product_product_sell',
            'product_volume_sell',
            'product_price_sell',
            'product_location_sell',
            'product_description_sell'
        ]

Views.py

from django.shortcuts import render
from .forms import ProductName


def products_create_view(request):
    form = ProductName(request.POST or None)
    if form.is_valid():
        form.save()
        form = ProductName()

    context = {
        'form': form
    }

    return render(request, "sell.html", context)

sell.html

{% include 'navbar.html' %}
<h1> Upper test</h1>

<form>
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Save" />
</form>

<h1> TEST </h1>

{% block content %}
{% endblock %}

刚刚做到了,你也会有问题发布你的对象:

views.py:

from django.shortcuts import render, redirect
from .forms import ProductName
from .models import Product_sell_create

def products_create_view(request):
    if request.method == 'POST':
        form = ProductName(request.POST)
        if form.is_valid():
            prod = form.save(commit=False)
            prod.save()
            return redirect('../thanks')
    else:
        form = ProductName()

        context = {
            'form': form
        }

        return render(request, "form_test.html", context)


def thanks_view(request):
    query = Product_sell_create.objects.all()
    return render (request, 'thanks.html', {'query' : query})

forms.py和models.py保持不变

sell.html:

<h1> Upper test</h1>

<form method="POST">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Save" />
</form>

<h1> TEST2 </h1>

thanks.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>{{ query }}</h1>
    <h2>THANKS</h2>
</body>
</html>

您是否在应用程序文件夹的 'templates' 文件夹中创建了 'sell.html'?

MyApp/templates/sell.html