2017-07-30 110 views
0

我是一个Django的初学者,我想创建一个新的网页,我可以编辑和添加到像管理网站页面的数据库模型,但这将在网站上以使用户能够控制它,我可以扩展我的base.html页面,我搜索它,我没有找到一个简单的解决方案,如管理基地网站,使我能够控制模型,我试图发送这个模型在上下文中的所有对象,但我不能在数据库模型中添加或编辑它,只是我只能查看它。如何创建类似于管理网站的Django网页

任何人都可以帮助我吗?谢谢。

这是该网页我models.py

from django.db import models 

class Email(models.Model): 
    type = models.CharField(max_length=200, null=True, blank=True) 
    subject = models.TextField() 
    from_email = models.CharField(max_length=200, null=True, blank=True) 
    to_email = models.CharField(max_length=200, null=True, blank=True) 
    reply_to_email = models.CharField(max_length=200, null=True, blank=True) 
    body_text = models.TextField() 
    body_html = models.TextField() 
    status= models.CharField(max_length=200, null=True, blank=True,default='waiting') 

    def __unicode__(self): 
     return self.to_email 

class EmailTemplate(models.Model): 
    template_name=models.CharField(max_length=200) 
    subject = models.CharField(max_length=200) 
    from_email = models.CharField(max_length=200, null=True, blank=True) 
    reply_to_email = models.CharField(max_length=200, null=True, blank=True) 
    body_text = models.TextField() 
    body_html = models.TextField() 

    def __unicode__(self): 
     return self.template_name 

views.py

from django.http import HttpResponse 
from django.shortcuts import render_to_response 
from django.template import RequestContext 
from survey.models import * 
from user_management.models import Candidate 
from django.contrib.auth.decorators import login_required 
from django import forms 
import settings 

from emailtemplates import models 
from email_sender.models import * 

from report.pdf import DrawarmPDF,send_pdf_in_email 

from decorators import superuser_required 



@login_required 
@superuser_required() 
def home(request): 

    query_results = EmailTemplate.objects.all() 
    return render_to_response('emailtemplates/emailtemplates.html', 
           {"query_results":query_results}, 
           context_instance=RequestContext(request)) 

回答

1

你需要的POST方法添加动作:

def home(request): 

    if request.method == 'POST': 
    #   ^^^^^^ 
    # do save action code 

    query_results = EmailTemplate.objects.all() 
    return render_to_response('emailtemplates/emailtemplates.html', 
           {"query_results":query_results}, 
           context_instance=RequestContext(request)) 

你可以使用形式f或保存操作,更多的细节在这里:forms view

而且这是很好的阅读形式类视图class-based-views

+0

谢谢你,我会检查他们。 –