Django Simplify ให้ฟังก์ชั่นบรรทัดคำสั่งที่คล้ายกับ RULS บนรางแบบจำลองและฟังก์ชั่นผู้ช่วยเพื่อให้คุณสามารถมุ่งเน้นไปที่การพัฒนาและขจัดความเจ็บปวดจากการกระทำซ้ำ ๆ ซ้ำ ๆ
Django-Simplify สามารถติดตั้งผ่าน PIP
$ pip install django-simplifyจากนั้นเพียงเพิ่มความเรียบง่ายลงในการติดตั้งของคุณ
1. create_app
$ python manage.py create_app < app_name >2. create_model
สร้างแบบจำลองและฟิลด์ที่เกี่ยวข้อง ประเภทต่อไปนี้แผนที่ไปยังฟิลด์โมเดล Django ที่เกี่ยวข้อง นอกจากนี้ยังจะเพิ่มแอพให้กับผู้ดูแลระบบ 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:intจะสร้างรหัสต่อไปนี้ในไฟล์/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_nameบันทึก
คำสั่งใช้ฟิลด์ที่ระบุแรกเป็นค่าเริ่มต้น __STR__
การระบุต่างประเทศ, Onetoonefield หรือ Manytomanyfield นั้นค่อนข้างง่าย เพียงแค่เพิ่ม = <rental_model> ดูตัวอย่าง
$ 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.Bookจะสร้างสิ่งต่อไปนี้
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
สร้างมุมมองสร้างเทมเพลตที่เกี่ยวข้องและเพิ่มเส้นทางในไฟล์ urls.py
$ 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 ' ,]บันทึก
นี่ยังอยู่ในโหมดการพัฒนาต้น อาจมีข้อบกพร่อง มันทำงานได้ดีถ้าคุณเขียนรหัสที่ดีและทำตามสไตล์การพัฒนา Django กรุณาแยกโครงการเพื่อบริจาค
ฉันอยากจะขอบคุณพระเจ้าที่ยิ่งใหญ่โดยที่สิ่งนี้จะเป็นไปไม่ได้ ฉันอยากจะบอกว่าต้องขอบคุณทุกคนที่มีและจะมีส่วนร่วมในสิ่งนี้ในอนาคต