Django Simplify fournit Ruby sur les fonctionnalités de ligne de commande de type rails, les modèles et les fonctions d'assistance afin que vous puissiez vous concentrer sur le développement et supprimer la douleur de répéter des actions fréquentes.
Django-Simplify peut être installé via PIP.
$ pip install django-simplifyEnsuite, ajoutez simplement Simplify à votre installé_apps.
1. CREATE_APP
$ python manage.py create_app < app_name >2. CREATE_MODEL
Crée un modèle et leurs champs respectifs. Les types suivants mappent des champs de modèle Django respectifs. Il ajoutera également l'application à l'administrateur Django.
$ python manage.py create_app < app_name > < model_name > field_name:type field_name:type ...$ python manage.py create_app member Member first_name:text last_name:text age:intgénérera le code suivant dans le fichier membre / Models.py
class Member ( models . Model ):
first_name = models . CharField ( max_length = 50 )
last_name = models . CharField ( max_length = 50 )
age = models . IntegerField ( default = 0 )
created_at = models . DateTimeField ( auto_now_add = True )
updated_at = models . DateTimeField ( auto_now = True )
def __str__ ( self ):
return self . first_nameNote
La commande utilise le premier champ spécifié comme par défaut __str__.
Spécifier ForeignKe, OnetoOnefield ou ManyTomanyfield est assez facile. Il suffit d'ajouter un = <leated_model>. Voir l'exemple
$ python manage.py create_app < app_name > < model_name > field_name:type=related_model
# an example
# if the related model is in the same models.py file, specify it as app_name.Model
$ python manage.py create_app author Author name:char books:fk=Book # or
$ python manage.py create_app author Author name:char books:fk=author.Book
# if in a different app. (say book model)
# obviously you should be able to substitute fk with m2m, o2o, 121
$ python manage.py create_app author Author name:char books:fk=book.BookCréera ce qui suit
class Author ( models . Model ):
name = models . CharField ( max_length = 50 )
books = models . ForeignKey ( 'book.Book' , on_delete = models . CASCADE )
created_at = models . DateTimeField ( auto_now_add = True )
updated_at = models . DateTimeField ( auto_now = True )
def __str__ ( self ):
return self . name3. Create_view
Crée une vue, générez son modèle respectif et ajoute le chemin
$ python manage.py create_view < app_name > < view_name > $ python manage.py create_view member MemberDetail
Helper models
# ###############
- simplify.utils.TimeBasedModel
- Provides the ` created_at ` and ` updated_at ` fields for timestamp
- simplify.utils.NamedTimeBasedModel
- Provides the ` name ` , ` created_at ` and ` updated_at ` fields.
- simplify.utils.AlphaNumericFilterAdmin
- when subclassed, it allows the items to be filtered alphabetically by either A-Z or 0-9
- ** Note ** : for this to work, you must specify values for `alphanumeric_filter` in the model admin.
Usage
# #####
.. code-block:: python
# models.py
from simplify.utils import TimeBasedModel, NamedTimeBasedModel
class MyModel(TimeBasedModel):
extra_fields = ....
.. code-block:: python
# admin.py
from simplify.utils import AlphaNumericFilterAdmin
class MemberAdmin(AlphaNumericFilterAdmin):
alphanumeric_filter = [ " first_name " , " last_name " , ' age ' ] # this part is what creates the filter
list_filter = [ ' age ' ]
list_display = [ ' first_name ' , ' last_name ' ,]Note
Ceci est encore en mode de développement précoce. pourrait avoir des bugs. Cela fonctionne bien si vous écrivez un bon code et suivez le style de développement Django. Veuillez débarquer le projet pour faire des contributions
Je voudrais dire un grand merci à Dieu sans lequel cela ne serait pas possible. Je voudrais également remercier tous ceux qui ont et y contribuerai à l'avenir.