Ich versuche, Slug in der Url übergeben, aber ich bin nicht in der Lage, dies zu tun. Der Slug ist in der Form wie wenn Sie einen Text haben: - Text: - Dies ist Stackoverflow Slug: - This-is-stackoverflow aber ich bin nicht in der Lage, dies zu erreichen. mein Modell: -Wie Slug als URL in Django übergeben
from __future__ import unicode_literals
from django.db import models
class EmailTemplates(models.Model):
id = models.IntegerField(db_column="id", max_length=11, help_text="")
subject = models.CharField(db_column="subject",max_length=255)
slug = models.CharField(db_column="slug",unique=True, max_length=255)
content = models.TextField(db_column="content", help_text="")
createdAt = models.DateTimeField(db_column='createdAt',auto_now=True, help_text="")
modifiedAt = models.DateTimeField(db_column='modifiedAt',auto_now=True, help_text="")
updatedBy = models.IntegerField(db_column='updatedBy', help_text="")
class Meta:
managed = False
db_table = 'email_templates'
meine url ich versuche ist: -
url(r'^email/edit/(?P<email_template_id>[\w-]+)/$', email_managment.email_send, name='email-edit')
meine Ansichten ist wie folgt aus: -
@login_required
@csrf_exempt
def email_send(request,email_template_id):
try:
form = emailTemplates(request.POST or None)
edit_email_end = 'add'
email_template_obj = {}
if request.method == 'POST':
if form.is_valid():
subject = request.POST.get('subject')
lowercase = subject.lower()
slug = lowercase.replace(" ","-")
print slug
content = request.POST.get('content')
if email_template_id is None or email_template_id == '':
add_email_template_entry = EmailTemplates(subject=subject, content=content,slug=slug)
add_email_template_entry.save(using="cms")
messages.success(request, 'Successfully added to the email template page')
elif email_template_id:
email_template_obj = EmailTemplates.objects.using("cms").get(id=email_template_id)
email_template_obj.subject = subject
email_template_obj.content = content
email_template_obj.slug = slug
email_template_obj.save(using="cms")
messages.success(request, 'Successfully update to the email templates')
return redirect('cms:email-list')
if email_template_id is not None:
edit_email_end = 'edit'
email_template_obj = EmailTemplates.objects.using("cms").get(id=email_template_id)
return render(request, 'templates/email_managment/add_email.html',{
'edit_email_end': edit_email_end,'email_template_obj':email_template_obj})
except Exception as e:
print e
raise Http404
der Fehler, der
steht vor der Tür istinvalid literal for int() with base 10: 'hello-took-of-fools'
Bitte ignorieren Sie Grama technische Fehler, wenn es welche gibt. Vielen Dank im Voraus
Was meinen Sie, sind Sie nicht in der Lage, die Schnecke zu übergeben? Wie hast du es versucht? Was ist passiert, als du es getan hast? Welchen Fehler hast du bekommen? –
Fehler: -invalid Literal für int() mit Basis 10: 'Hallo-take-of-Dummköpfe' –
Sie müssen die vollständige Traceback zeigen, so dass wir wissen, woher dieser Fehler kommt. Sie sollten auch Ihre Modelle zeigen. –