[PyGr] Ελληνικά στο slugfield του Django

Yorgos Pagles y.pagles at gmail.com
Sun May 29 12:42:42 CEST 2011


On May 29, 2011, at 9:30 AM, George Notaras wrote:

> Ευχαριστώ όλους για τις απαντήσεις. Επειδή άκρη σχετικά με το search
> engine friendliness δεν μπορώ να βρω, μάλλον τείνω προς slugs με
> λατινικούς χαρακτήρες.
> 

Προσωπικά δεν με απασχολεί πολύ το να βάλω ελληνικά στο url, το θεωρώ υπερεκτιμημένο. Εφόσον το django μου δίνει εργαλεία για να δουλέψω με friendly urls σε λατινικούς χαρακτήρες χρησιμοποιώ τα εργαλεία που μου είναι διαθέσιμα.

> Αυτό δημιούργησε όμως ένα επιπλέον πρόβλημα με τα tags. Το
> django-tagging δεν υποστηρίζει slug για το κάθε tag, οπότε εξαναγκάζεται
> κανείς να χρησιμοποιήσει το όνομα του tag και στο URL, πχ
> /tag/υπολογιστές, κάτι που είναι αντίθετο με τη λογική των URLs με
> λατινικούς χαρακτήρες. Αν και υπάρχει patch για προσθήκη slug, ως καλή
> εναλλακτική λύση βλέπω το django-taggit, το Tag μοδελ του οποίου
> υποστηρίζει slug, αλλά και custom slugify function, το οποίο είναι
> χρήσιμο στην περίπτωσή μας λόγω της μη υποστήριξης transliteration από
> το django.template.defaultfilters.slugify(), όπως αναφέρθηκε από τον
> Γιώργο προηγουμένως.
> 

Αυτό είναι γενικότερο πρόβλημα των tags. Υπάρχουν γενικά συνώνυμα ας πούμε football, soccer, ποδόσφαιρο ή διάφορες τέτοιες περιπτώσεις. Προφανώς αυτά πρέπει να μπούν κάτω από το ίδιο tag και να είναι διαθέσιμα κάτω από το ίδιο url. Αυτό που μπορείς να κάνεις είναι να έχεις κατηγορίες από tags που η κάθε κατηγορία να έχει το δικό της slug και να δίνεις στα urls τις κατηφορίες πλέον. Δες ας πούμε πως το κάνει το https://github.com/frankwiles/django-taggit-suggest Όλα βέβαια εξαρτώνται από την περίπτωσή σου οπότε δεν μπορούμε να μιλάμε για γενική λύση. Αυτό που θες πάντως να υποστηρίξεις όπως είπες είναι αρκετά απλό με το django taggit καθώς μπορείς να χρησιμοποιήσεις custom Tag  μοντέλο: http://django-taggit.readthedocs.org/en/latest/custom_tagging.html


> Αν έχετε κάποια καλύτερη πρόταση για tagging, είναι ευπρόσδεκτη.
> 
> @Μάρκος: η αλήθεια είναι ότι μέσα στην όλη διαδικασία ψαξίματος για το
> θέμα ξέχασα ότι στο admin γίνεται transliteration του ελληνικού slug
> μέσω javascript! :)
> 
> 
> On 28/05/2011 19:45, Yorgos Pagles wrote:
>> Μάρκο εδώ κάνεις ένα λάθος μάλλον επειδή βλέπεις να γίνεται populate το
>> slug στο admin. Αυτό που υποστηρίζει transliteration στο slug είναι η
>> javascript του admin. Οπότε ναι αν φένεται το slug στο admin θα γίνεται
>> "αυτόματο" transliteration από ελληνικούς σε λατινικούς χαρακτήρες. Η
>> αντίστοιχη python συνάρτηση δεν υποστηρίζει transliteration και απλά θα
>> προσπεράσει τους ελληνικούς χαρακτήρες.
>> 
>> 
>> On May 28, 2011, at 2:51 PM, Markos Gogoulos wrote:
>> 
>>> Γειά σου Γιώργο,
>>> 
>>> το slugfield δημιουργεί slugs σε λατινικούς χαρακτήρες, 'καταλαβαίνει'
>>> πάντως και τους ελληνικούς και τους μετατρέπει (μέσω του
>>> prepopulated_fields). Βέβαια αν θέλεις τα urls να έχουν ελληνικούς
>>> χαρακτήρες ίσως πρέπει να ακολουθήσεις μια απο τις λύσεις που
>>> προτείνεις. Προσωπικά δεν με ενθουσιάζουν τα urls με ελληνικούς
>>> χαρακτήρες :)
>>> 
>>> Για το downcode μπορείς να χρησιμοποιήσεις (ή να στηριχτείς) στο
>>> script που υπάρχει στο https://code.djangoproject.com/ticket/8391
>>> 
>>> Χαιρετισμοί,
>>> Μάρκος
>>> 
>>> 
>>> 
>>> 
>>> 2011/5/27 George Notaras <gnot at g-loaded.eu <mailto:gnot at g-loaded.eu>>
>>> 
>>>    Καταρχήν, χαιρετώ τη λίστα! Μέχρι τώρα παρακολουθούσα μέσω web μόνο το
>>>    group django-gr. Το ότι έγινε η συγχώνευση πολλών ελληνικών λιστών
>>>    σχετικών με την Python είναι πάρα πολύ θετικό.
>>> 
>>>    Ασχολούμαι με το Django σε ερασιτεχνικό επίπεδο εδώ και δύο χρόνια.
>>>    Σήμερα τυχαία διαπίστωσα ότι το slugfield δέχεται μόνον λατινικούς
>>>    χαρακτήρες, με αποτέλεσμα να μην λειτουργεί η αυτόματη συμπλήρωση του
>>>    slugfield στο admin interface (μέσω του prepopulated_fields). Υπάρχει
>>>    κάποιο εξειδικευμένο javascript snippet που να κάνει αυτόματη
>>>    μετατροπή
>>>    ελληνικών σε greeklish;
>>> 
>>>    Από την άλλη, μήπως θα έπρεπε τελικά να φτιάξω ένα custom
>>>    slugfield που
>>>    να δέχεται κι ελληνικά; Μήπως δεν είναι τόσο άσχημα τελικά τα urls με
>>>    μη-λατινικούς χαρακτήρες; Προσωπικά, δε μου αρέσουν, αλλά δεν
>>>    είμαι και
>>>    απόλυτος.
>>> 
>>>    _______________________________________________
>>>    Python-greece mailing list
>>>    Python-greece at python.org <mailto:Python-greece at python.org>
>>>    http://mail.python.org/mailman/listinfo/python-greece
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> https://unweb.me <https://unweb.me/>
>>> state of the art information systems
>>> _______________________________________________
>>> Python-greece mailing list
>>> Python-greece at python.org <mailto:Python-greece at python.org>
>>> http://mail.python.org/mailman/listinfo/python-greece
>> 
>> 
>> 
>> _______________________________________________
>> Python-greece mailing list
>> Python-greece at python.org
>> http://mail.python.org/mailman/listinfo/python-greece
> 
> _______________________________________________
> Python-greece mailing list
> Python-greece at python.org
> http://mail.python.org/mailman/listinfo/python-greece

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-greece/attachments/20110529/bf3588cf/attachment.html>


More information about the Python-greece mailing list