Django Simplify bietet Ruby on Rails-ähnliche Befehlslinienfunktionalitäten, Modelle und Helferfunktionen, damit Sie sich auf die Entwicklung konzentrieren und die Schmerzen der Wiederholung häufiger Aktionen beseitigen können.
Django-Simplify kann über PIP installiert werden.
$ pip install django-simplifyFügen Sie dann einfach Ihre installed_apps zu vereinfachen.
1. create_app
$ python manage.py create_app < app_name >2. create_model
Erstellt ein Modell und ihre jeweiligen Felder. Die folgenden Typen karten den jeweiligen Django -Modellfeldern. Auch die App fügt dem Django -Administrator die App hinzu.
$ 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:intgeneriert den folgenden Code in der Datei member/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_nameNotiz
Der Befehl verwendet das erste angegebene Feld als __str__ Standard.
Es ist ziemlich einfach, ForeignKey, Onetoonefield oder Manytomanyfield anzugeben. Fügen Sie einfach ein = <relats_model> hinzu. Siehe Beispiel
$ 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.Bookwird Folgendes erstellen
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
Erstellt eine Ansicht, generieren Sie ihre jeweilige Vorlage und fügt den Pfad in der URLS.Py -Datei hinzu
$ 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 ' ,]Notiz
Dies befindet sich noch im frühen Entwicklungsmodus. Könnte Fehler haben. Es funktioniert gut, wenn Sie guten Code schreiben und dem Django -Entwicklungsstil folgen. Bitte geben Sie das Projekt auf, um Beiträge zu leisten
Ich würde gerne ein großes Dankeschön an Gott sagen, ohne dass dies nicht möglich wäre. Ich möchte mich auch bei allen bedanken, die in Zukunft dazu beitragen.