简体   繁体   中英

how to create django web page similar to admin site

I am a beginner in django and i want to create a new web page which i can edit and add to a database model like the admin site page but this will be in the website to enable the user to control it and i can extend my base.html page in it, I search for it and i didn't find a simple solution like admin base site that enable me to control the models, i tried to send all objects of this model in the context but i cant add or edit it in the database model, just i can view it only.

can any one help me? thanks.

This is my models.py for this web page:

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

my 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))

you need add action for POST method:

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))

And you may use forms for save action, more details here: forms view

And it be good to read about form class view class-based-views

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM