首页 > 解决方案 > 如何手动渲染 django 表单?

问题描述

我是 Django 的新手。有人知道如何实施手册吗?我有通讯应用程序: newsletter/views.py

from django.shortcuts import render
from .forms import NewsUserForm
from . models import NewsUsers

# Create your views here.

def newsletter_subscribe(request):
    if request.method == 'POST':
        form = NewsUserForm(request.POST)
        if form.is_valid():
           cd = form.cleaned_data
           instance = form.save(commit=False)
           if NewsUsers.objects.filter(email=instance.email).exists():
               print('your email Already exists in our database')

        else:
            instance.save()
            print('your email has been submitted to our database')
    else:
        form = NewsUserForm()
        context = {'form':form}
        template = "home/base.html"
        return render(request, template, context)

通讯/models.py

from django.db import models

# Subscribe models.
class NewsUsers(models.Model):
    name = models.CharField(max_length = 30)
    last_name = models.CharField(max_length = 30)
    email = models.EmailField()
    date_added = models.DateField(auto_now_add=True)

    class Meta:
        verbose_name = "NewsUser"
        verbose_name_plural = "NewsUsers"

        def __str__(self):
                return self.email

时事通讯/urls.py

from django.urls import path
from .views  import  newsletter_subscribe


app_name = 'newsletter'
urlpatterns = [
    path('subscribe', newsletter_subscribe, name='subscribe'),
 ]

如何手动渲染这个 django 表单,从第三个应用程序到主模板?我在家庭应用程序基本模板中有以下代码: home/templates/base.html

如何在此模板上使用此表单?

标签: djangodjango-modelsdjango-formsdjango-templatesdjango-views

解决方案


推荐阅读