5đź‘Ť
Assuming you are talking about how to save links (or any HTML formatting really) that you are including in your blog posts, not standalone links (like for a blogroll):
You might want to think about adopting some sort of markup language like Markdown or BBCode. You’d then store the blog post in the pure markup syntax, and provide a method (like blog.get_post()
) that would parse the stored markup and return HTML. You’d then use the safe
filter in your template to avoid escaping the HTML.
Even better, to avoid parsing your markup on every request, cache it in the database. Add a TextField called something like text_html to your Blog
model. Override your Blog
model’s save
method to parse the markup into HTML and save the HTML to the text_html field.
Then when you want to render the blog post in a template, you can use {{ post.text_html|safe }}
without having to parse your markup each time.
So your Blog model might look like this (only text field shown for clarity)
import markdown
class BlogPost(models.Model):
text = models.TextField()
text_html = models.TextField(editable=False) # don't want to see this in Admin
def save(self, force_insert=False, force_update=False):
self.text_html = markdown(self.text)
super(BlogPost, self).save(force_insert, force_update)
To make things simpler on the data entry side, you could also add in a nice javascript editor – like the one I’m typing this answer in right now.
0đź‘Ť
I would save the URL itself, and append the tag and parameters at the output. In my opinion it is better to separate the storage, processing and presentation of the data, to accommodate future changes easier (for example when in a future version the URL get used for something entirely other like automated downloads).
- [Django]-Where to you monkey patch the Django user model?
- [Django]-Django — new field: How to set default callable for existing objects
- [Django]-No module named django.core when running django-admin startproject myproject
- [Django]-What are the cons of using Django compared to (ASP.net MVC,NHibernate and Spark View Engine)?
- [Django]-Unhandled exception when validating models in Django
0đź‘Ť
You could use a URL field (or a TextField, of course) and then render it in a template.
<a rel="nofollow" href="{{ url }}">{{ url }}</a>
- [Django]-Django 2.0 Trying to Grab the primary key with regular Expressions but im getting 404
- [Django]-Django – Sending emails using class based view
- [Django]-Save the file for a FileField without a form
- [Django]-Writing multiple page pdf from html template using weasy print and django