Différences entre les versions de « Genida technical information »

De
Aller à la navigation Aller à la recherche
(Tests de formattage (dommage que ce soit pas du markdown comme sur github) + ajout début tableau django packages)
Ligne 8 : Ligne 8 :
 
|-
 
|-
 
! Name !! Package !! Repo !! Documentation !! Chosen for !! Previous choice(s)
 
! Name !! Package !! Repo !! Documentation !! Chosen for !! Previous choice(s)
 +
|-
 +
| django-ajax-selects || Djangopackages [ page], [ grid] || [ GitHub] || [ ReadTheDocs] || <ul><li></li><li></li><li></li></ul> || <ul><li></li><li></li><li></li></ul>
 +
|-
 +
| django-appconf || Djangopackages [ page], [ grid] || [ GitHub] || [ ReadTheDocs] || <ul><li></li><li></li><li></li></ul> || <ul><li></li><li></li><li></li></ul>
 +
|-
 +
| django-autoslug || Djangopackages [ page], [ grid] || [ GitHub] || [ ReadTheDocs] || <ul><li></li><li></li><li></li></ul> || <ul><li></li><li></li><li></li></ul>
 +
|-
 +
| django-avatar || Djangopackages [ page], [ grid] || [ GitHub] || [ ReadTheDocs] || <ul><li></li><li></li><li></li></ul> || <ul><li></li><li></li><li></li></ul>
 +
|-
 +
| django-axes || Djangopackages [https://www.djangopackages.com/packages/p/django-axes/ page], [https://www.djangopackages.com/grids/g/anti-bots/ grid] || [https://github.com/django-security/django-axes GitHub] ||  || <ul><li>Good solution to prevent bruteforce attacks on users accounts passwords. Maybe a temporary solution before we set a security module.</li><li>Possibility to block IP address after X failed login attempts, for X amount of time (currently set to 5 and 15 minutes).</li><li>All attempts are recorded in the database and viewable by administrators.</li></ul> ||
 +
|-
 +
| django-bootstrap-markdown ||  || [https://github.com/aj-may/django-bootstrap-markdown GitHub] ||  || <ul><li>Its capacity to upload images onto the server and reuse them! Bad integration in django-suit (left offset in admin pages, preview no more at the right of the text but below...).</li><li>We might consider using [https://www.djangopackages.com/packages/p/django-pagedown/ Django-Pagedown] instead, when it will be able to upload images and reuse them too. Since we do not use django-admin-bootstrapped, we do not need the "bootstrap" part in a markdown editor.</li></ul> || <ul><li>Django-Summernote. '''Reason for switching:''' Summernote is a very good WYSIWYG editor, but it renders text in HTML, which is less secure than markdown, because we have to evaluate it unsafely in HTML templates. Markdown inputs are sanitized when displayed in HTML templates, currently with [https://www.djangopackages.com/packages/p/django-markdown-deux/ Django-Markdown-Deux].</li></ul>
 +
|-
 +
| django-cities-light || Djangopackages [https://www.djangopackages.com/packages/p/django-cities-light/ page], [https://www.djangopackages.com/grids/g/countries/ grid] || [https://github.com/yourlabs/django-cities-light GitHub] || [https://readthedocs.org/projects/django-cities-light/ ReadTheDocs] || <ul><li>Command to prepopulate database fields from [http://www.geonames.org/ GeoNames]. Some fields are maybe unnecessary though.</li></ul> || 
 +
|-
 +
| django-datetime-widget || Djangopackages [https://www.djangopackages.com/packages/p/django-datetime-widget/ page] || [https://github.com/asaglimbeni/django-datetime-widget GitHub] ||  || <ul><li>The only one doing this. And it is doing it right!</li></ul> ||
 +
|-
 +
| django-forms-bootstrap || Djangopackages [https://www.djangopackages.com/packages/p/django-forms-bootstrap/ page], [https://www.djangopackages.com/grids/g/forms/ grid] || [https://github.com/pinax/django-forms-bootstrap GitHub] ||  || <ul><li>Very simple to use in templates. Bootstrap themed. It will surely be replaced by [https://www.djangopackages.com/packages/p/django-crispy-forms/ Django-Cripsy-Forms] in the future.</li></ul> ||
 +
|-
 +
| django-imagekit || Djangopackages [https://www.djangopackages.com/packages/p/django-imagekit/ page], [https://www.djangopackages.com/grids/g/thumbnails/ grid] || [https://github.com/jdriscoll/django-imagekit GitHub] || [https://readthedocs.org/projects/django-imagekit/ ReadTheDocs] || <ul><li>It is a requirement for [https://github.com/aj-may/django-bootstrap-markdown Django-Bootstrap-Markdown]. Since it uploads images to the server, in order to be reusable they are shown in admin interface app, and then needs thumbnailing and previewing.</li></ul> ||
 +
|-
 +
| django-markdown-deux || Djangopackages [https://www.djangopackages.com/packages/p/django-markdown-deux/ page], [https://www.djangopackages.com/grids/g/wysiwyg/ grid] || [https://github.com/trentm/django-markdown-deux GitHub] ||  || <ul><li>Recommended by Django Bootstrap Markdown author for displaying markdown in templates.</li></ul> ||
 +
|-
 +
| django-modeltranslation || Djangopackages [https://www.djangopackages.com/packages/p/django-modeltranslation/ page], [https://www.djangopackages.com/grids/g/model-translation/ grid] || [https://github.com/deschler/django-modeltranslation GitHub] || [https://readthedocs.org/projects/django-modeltranslation/ ReadTheDocs] || <ul><li>Code is separated from the models code (translation.py)</li><li>Translation fields are stored in the same table (database performance)</li><li>The original field is kept (more robust and flexible, fall backs if no translations)</li></ul> || <ul><li>Django-Easymode. '''Reason for switching:''' the original field was not kept, resulting in impossibility to use translatable fields for search, ordering or filter in admin interface. Sometimes even lead to server error. Bugs found in admin interface display (checkbox column appeared twice). Translation is not its main purpose.</li></ul>
 +
|-
 +
| django-rosetta || Djangopackages [https://www.djangopackages.com/packages/p/django-rosetta/ page], [https://www.djangopackages.com/grids/g/i18n/ grid] || [https://github.com/mbi/django-rosetta GitHub] ||  || <ul><li>Provides an effective interface for translating site contents, and an easy integration with users and groups: each user in the group "translators" can have access to rosetta interface.</li></ul> ||
 
|-
 
|-
 
| django-simple-captcha || Djangopackages [https://www.djangopackages.com/packages/p/django-simple-captcha/ page], [https://www.djangopackages.com/grids/g/captcha/ grid] || [https://github.com/mbi/django-simple-captcha GitHub] || [https://readthedocs.org/projects/django-simple-captcha/ ReadTheDocs] || <ul><li>The simplest captcha app for Django, yet customizable, very easy to use.</li></ul> ||
 
| django-simple-captcha || Djangopackages [https://www.djangopackages.com/packages/p/django-simple-captcha/ page], [https://www.djangopackages.com/grids/g/captcha/ grid] || [https://github.com/mbi/django-simple-captcha GitHub] || [https://readthedocs.org/projects/django-simple-captcha/ ReadTheDocs] || <ul><li>The simplest captcha app for Django, yet customizable, very easy to use.</li></ul> ||

Version du 19 novembre 2014 à 17:08

Development with Python

The Django Framework

Django packages

Name Package Repo Documentation Chosen for Previous choice(s)
django-ajax-selects Djangopackages [ page], [ grid] [ GitHub] [ ReadTheDocs]
django-appconf Djangopackages [ page], [ grid] [ GitHub] [ ReadTheDocs]
django-autoslug Djangopackages [ page], [ grid] [ GitHub] [ ReadTheDocs]
django-avatar Djangopackages [ page], [ grid] [ GitHub] [ ReadTheDocs]
django-axes Djangopackages page, grid GitHub
  • Good solution to prevent bruteforce attacks on users accounts passwords. Maybe a temporary solution before we set a security module.
  • Possibility to block IP address after X failed login attempts, for X amount of time (currently set to 5 and 15 minutes).
  • All attempts are recorded in the database and viewable by administrators.
django-bootstrap-markdown GitHub
  • Its capacity to upload images onto the server and reuse them! Bad integration in django-suit (left offset in admin pages, preview no more at the right of the text but below...).
  • We might consider using Django-Pagedown instead, when it will be able to upload images and reuse them too. Since we do not use django-admin-bootstrapped, we do not need the "bootstrap" part in a markdown editor.
  • Django-Summernote. Reason for switching: Summernote is a very good WYSIWYG editor, but it renders text in HTML, which is less secure than markdown, because we have to evaluate it unsafely in HTML templates. Markdown inputs are sanitized when displayed in HTML templates, currently with Django-Markdown-Deux.
django-cities-light Djangopackages page, grid GitHub ReadTheDocs
  • Command to prepopulate database fields from GeoNames. Some fields are maybe unnecessary though.
django-datetime-widget Djangopackages page GitHub
  • The only one doing this. And it is doing it right!
django-forms-bootstrap Djangopackages page, grid GitHub
  • Very simple to use in templates. Bootstrap themed. It will surely be replaced by Django-Cripsy-Forms in the future.
django-imagekit Djangopackages page, grid GitHub ReadTheDocs
  • It is a requirement for Django-Bootstrap-Markdown. Since it uploads images to the server, in order to be reusable they are shown in admin interface app, and then needs thumbnailing and previewing.
django-markdown-deux Djangopackages page, grid GitHub
  • Recommended by Django Bootstrap Markdown author for displaying markdown in templates.
django-modeltranslation Djangopackages page, grid GitHub ReadTheDocs
  • Code is separated from the models code (translation.py)
  • Translation fields are stored in the same table (database performance)
  • The original field is kept (more robust and flexible, fall backs if no translations)
  • Django-Easymode. Reason for switching: the original field was not kept, resulting in impossibility to use translatable fields for search, ordering or filter in admin interface. Sometimes even lead to server error. Bugs found in admin interface display (checkbox column appeared twice). Translation is not its main purpose.
django-rosetta Djangopackages page, grid GitHub
  • Provides an effective interface for translating site contents, and an easy integration with users and groups: each user in the group "translators" can have access to rosetta interface.
django-simple-captcha Djangopackages page, grid GitHub ReadTheDocs
  • The simplest captcha app for Django, yet customizable, very easy to use.
django-suit Djangopackages page, grid GitHub ReadTheDocs
  • Customizable interface (tabs, apps, icons)
  • Inline sortables (lists of database objects can be reordered with arrows)
  • Beautiful design
  • Django-Admin-Bootstrapped. Reason for switching: takes too much space on screen, so much less functionnality than Django-Suit
  • Django basic admin interface. Reason for switching: wanted a design corresponding to the website one (using Twitter Bootstrap)

Documentation

  • Docstring