Django-Markupfield

Custom Django-veld voor eenvoudig gebruik van Markup in tekstvelden
Download nu

Django-Markupfield Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • James Turk
  • Uitgever website:

Django-Markupfield Tags


Django-Markupfield Beschrijving

Aangepast Django-veld voor eenvoudig gebruik van markup in tekstvelden Django-Markupfield is een implementatie van een aangepast markupfield voor Django. Een Markupfield is in essentie een tekstveld met een bijbehorende markuptype. Het veld cacheert ook zijn gerenderde waarde op de veronderstelling dat schijfruimte goedkoper is dan CPU-cycli in een webapplicatie.Installatie U kunt de nieuwste release van Django-Markupfield via PYPI verkrijgen of de nieuwste sourceto installeren Een bronverdeling: Python Setup.py Installit is ook mogelijk om Django-Markupfield met PIP of Easy_Install.it te installeren is niet nodig om 'Markupfield' toe te voegen aan uw geïnstalleerde_apps, het moet alleen op uw Pythonpath zijn. DelenThingSto, het beste gebruik van Markupfield U moet de instelling Markup_field_types, een Woordenboek van snaren naar calllabals die 'een markup type' renderen ': import markownfrom docutils.core import publish_partsdef render_rest (markup): onderdelen = Publish_Parts (Source = Markup, Writer_Name = "HTML4CSS1") Retournel onderdelen Markup_field_TYPES = {' Markdown ': Markdown.MarkDown,' Rest ': render_rest,} Als u geen markup_field_types definieert, is er een is voorzien van de volgende beschikbare mark-uptypen: HTML, Potentieel VN SafePlain: PLAINKE TEKSTERS, Oproepen Urlize en vervangt tekst met LineBreakMarkDown: Standaard Markdown Renderer (alleen als Python-Markdown is geïnstalleerd) HerstructuredText: Standaard RESTERDERDER (ALLEEN ALS DOCUTILS IS GEÏNSTALLEERD) Textiel: Standaard Textiel is geïnstalleerd) Usageusing Markupfield is relatief eenvoudig, het kan worden gebruikt in elke modeldefinitie: van django.db importmodellen, markupfield.fields import markupfieldclass-artikel (modellen.model): titel = modellen.charfield (max_length = 100) slak = modellen.slugfield (max_length = 100) Body = Markupfield () Artikelobjecten kunnen vervolgens worden gemaakt met elk opmerktype dat is gedefinieerd in Markup_field_Types: artikel.Objects.create (titel = 'SOMMIGE ARTIKEL', SLUG = 'SOMMIGE-artikel', Body = '* Fancy *' , Body_MarkUp_Type = 'Markdown') U zult merken dat een veld met de naam Body_markup_Type bestaat dat u niet verklaart, Markupfield heeft hier eigenlijk twee extra velden gecreëerd HIER_MARKUP_TYPE en _BODY_RENDERED. Deze velden worden altijd genoemd volgens de naam van het aangegeven Markupfield.ArgüsMarkUpfield neemt ook twee optionele argumenten standaard_markup_type en markup_type. Een van deze argumenten kan worden opgegeven, maar niet zowel.default_markup_type: een markup_type instellen dat het veld standaard wordt ingesteld als een niet is opgegeven. Het is nog steeds mogelijk om het kenmerk Type-type te bewerken en het verschijnt standaard in Modelforms.markP_Type: Set Markup-type dat het veld altijd zal gebruiken, bewerkbaar = false is ingesteld op het verborgen veld, zodat deze niet wordt getoond in Modelform.Accessing A Markupfield op een model bij toegang tot een attribuut van een model dat is gedeclareerd als een Markupfield, wordt een speciaal Markup-object geretourneerd. Het MARMUP-object heeft drie parameters: RAW: de uitgerangige markup.markup_type: het Markup-type.Rendered: de gerenderde HTML-versie van RAW, dit attribuut is alleen-lezen. Dit object heeft een __Unicode__-methode die Django.utils.safestring.mark_safe noemt Op het gerendeel van Markupfield-objecten om in sjablonen te verschijnen als hun gerenderde zelf zonder enige sjabloon-tag of die rechtstreeks toegang hebben om rechtstreeks toegang te krijgen. Model boven: >>> A = artikel.Objects.all () >>> a. body.rawu '* Fancy *' >>> A.Body.MarkUp_Typeu'markDown '>>> A.Body.Renderedu'

Fancy

'>>> afdrukken Unicode ( A.Body)

Fancy

Toewijzing aan A.Body is gelijk aan toewijzing aan A.Body.Raw en Toewijzing aan A.Body_MarkUp_Type is gelijk aan toewijzing aan A.Body.MarkUp_Type . Vereisten: · Python · Django


Django-Markupfield Gerelateerde software