Próbuję przekonwertować tytuł postu na CamelCase, aby utworzyć hashtag Twittera, używam paska, ale jego zwracanie obiektu zamiast tego nie wiem czy to jest właściwa droga?Konwertuj tytuł posta na CamelCase
# views.py
def post_create(request):
if not request.user.is_authenticated():
raise Http404
form_class = PostCreateForm
if request.method == 'POST':
form = form_class(request.POST, request.FILES)
if form.is_valid():
instance = form.save(commit=False)
instance.creator = request.user
instance.slug = slugify(instance.title)
instance.hashtag = instance.title.strip()
instance.save()
slug = slugify(instance.title)
return redirect(instance.get_absolute_url())
else:
form = form_class()
context = {
'form': form,
}
return render(request, "posts/post_create.html", context)
Które zwraca <built-in method strip of unicode object at 0x031ECB48>
w szablonie var wynik szukam jest tak MyPostTitle
do szablonu
# Template view
<h3>#{{instance.hashtag|title}}</h3>
models.py
class Post(models.Model):
creator = models.ForeignKey(ProfileUser)
title = models.CharField(max_length=80)
hashtag = models.CharField(max_length=80)
slug = models.SlugField(unique=True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"slug": self.slug})
Czy możesz pokazać definicję modelu Posta? Dzięki. – alecxe
Dodałem model Posta – linski
OK, może to być to, że ja czegoś brakuje lub nie mam wystarczającej ilości kawy. Spróbuj usunąć pliki Pyc i zrestartuj serwer - wygląda na to, że działa on jako 'instance.title.strip' zamiast' instance.title.strip() '. – alecxe