เครื่องตัดคุกกี้ขวด
เทมเพลต Flask สำหรับเครื่องตัดคุกกี้ (รองรับ Python ≥ 3.8)
ดู repo นี้สำหรับโปรเจ็กต์ตัวอย่างที่สร้างจากเทมเพลตเวอร์ชันล่าสุด
ใช้มันตอนนี้
นักเทียบท่า (นี่เป็นวิธีที่ต้องการสำหรับการสร้างโปรเจ็กต์ใหม่)
$ git clone https://github.com/cookiecutter-flask/cookiecutter-flask.git
$ cd cookiecutter-flask
# Basic usage (You will be prompted to provide basic information about your application)
$ ./cookiecutter-docker.sh
full_name [Steven Loria]:
...
# The repository for your flask app will be created in a directory with the name
# chosen in "package import name" question (default ./my_flask_app/)
# Additional arguments are available
$ ./cookiecutter-docker.sh --help
Usage: ./cookiecutter-docker.sh [OPTIONS]
Options:
-b, --build Build Docker image before running cookiecutter
-h, --help Show this message and exit
มาตรฐาน
หากใช้คำแนะนำมาตรฐาน จำเป็นต้องมี Python ≥ 3.8 แนะนำให้ใช้สภาพแวดล้อมเสมือน (เช่น virtualenv
)
pip3 install cookiecutter
cookiecutter https://github.com/cookiecutter-flask/cookiecutter-flask.git
คุณจะถูกถามเกี่ยวกับข้อมูลพื้นฐานของคุณ (ชื่อ ชื่อโครงการ ชื่อแอป ฯลฯ) ข้อมูลนี้จะใช้ในโปรเจ็กต์ใหม่ของคุณ
กำหนดค่าและเรียกใช้
หลังจากที่คุณสร้างรหัสโครงการแล้ว ต้องดำเนินการอีกสองสามขั้นตอนก่อนที่แอปใหม่ของคุณจะทำงาน README ของโปรเจ็กต์ที่สร้างขึ้นจะแสดงวิธีกำหนดค่าและรันแอปพลิเคชัน (คุณสามารถดูเทมเพลต README ได้ที่นี่)
คุณสมบัติ
- Bootstrap 5 และ Font Awesome 6 พร้อมเทมเพลตเริ่มต้น
- Flask-SQLAlchemy พร้อมโมเดลผู้ใช้พื้นฐาน
- ย้ายฐานข้อมูลอย่างง่ายดายด้วย Flask-Migrate
- การกำหนดค่าในตัวแปรสภาพแวดล้อมตามแอป Twelve-Factor
- Flask-WTForms พร้อมแบบฟอร์มเข้าสู่ระบบและลงทะเบียน
- Flask-Login เพื่อตรวจสอบสิทธิ์
- Flask-Bcrypt สำหรับการแฮชรหัสผ่าน
- Procfile สำหรับการปรับใช้กับ PaaS (เช่น Heroku)
- pytest และ Factory-Boy สำหรับการทดสอบ (รวมตัวอย่างการทดสอบ)
- Click CLI ของ Flask กำหนดค่าด้วยคำสั่งง่ายๆ
- การลดขนาด CSS และ JS โดยใช้ webpack
- รองรับ npm สำหรับการจัดการแพ็คเกจส่วนหน้า
- การแคชโดยใช้ Flask-Cache
- แถบเครื่องมือดีบักที่มีประโยชน์
- ใช้แนวทางปฏิบัติที่ดีที่สุด: พิมพ์เขียวและรูปแบบโรงงานแอปพลิเคชัน
ภาพหน้าจอ
แรงบันดาลใจ
- การจัดโครงสร้างแอป Flask
- Flask-Foundation โดย @JackStouffer
- ขวดกระดูกโดย @cburmeister
- การลงทะเบียนขวดพื้นฐานโดย @ mjhea0
- เอกสารอย่างเป็นทางการของขวด
ใบอนุญาต
เอ็มไอทีได้รับใบอนุญาต
บันทึกการเปลี่ยนแปลง
ยังไม่ได้เผยแพร่
- อัปเดตการพึ่งพาโหนดทั้งหมดเป็นเวอร์ชันล่าสุด
- สลับไปใช้การดำเนินการ Github สำหรับเทมเพลต CI
- ยกเลิกการรองรับ Node 10 ในฐานะตัวเลือก Cookiecutter
- ปรับโครงสร้างอิมเมจ Docker ใหม่เพื่อใช้บิลด์แบบหลายขั้นตอนได้อย่างมีประสิทธิภาพมากขึ้น
- โปรเจ็กต์ที่สร้างด้วยเทมเพลตใช้การดำเนินการ Github สำหรับ CI
- อัปเกรด Webpack เป็น 5.x
- ยกเลิกการรองรับ Python 3.6, 3.7 และ 3.8
- เพิ่มการรองรับ Python 3.9, 3.10, 3.11 และ 3.12
- เพิ่มโหนด 18 และ 20 LTS
- ลบโหนด 12, 14 และ 16 LTS
18.0.0 (09/09/2018)
- ใช้ CalVer (
YY.MINOR.MICRO
) - อัปเกรดเป็น Bootstrap 4 ขอบคุณ @adawalli และ @Hiyorim
- ใช้ตัวแปรสภาพแวดล้อมสำหรับการกำหนดค่า
- เพิ่มการรองรับ Pipenv
- อัปเกรดการพึ่งพา Python และ Node
0.13.0 (06/25/2560)
- ใช้ webpack เพื่อสร้างสินทรัพย์ส่วนหน้า การพึ่งพาส่วนหน้าได้รับการติดตั้งด้วย NPM ลบ Flask-Assets และ bower.json ขอบคุณ @wroberts
0.12.0 (11/06/2559)
0.11.1 (11/06/2559)
- ส่งพารามิเตอร์แรกไปยัง
Flask
อย่างถูกต้องตามเอกสาร 0.11 ขอบคุณ @aliavni - ลบ setuptools และ wheel เป็นการพึ่งพาเพื่อแก้ไขการปรับใช้บน Heroku ขอบคุณ @Cabalist
- ทำให้ User.password เป็นฟิลด์ไบนารีเพื่อให้เข้ากันได้กับ bcrypt เวอร์ชันใหม่ ขอบคุณ @Cabalist อีกครั้ง
0.11.0 (09/10/2559)
- ใช้ตัวแปรสภาพแวดล้อมของระบบ FLASK_DEBUG แทน MYFLASKAPP_ENV เพื่อควบคุมการกำหนดค่าต่างๆ สำหรับสภาพแวดล้อมการพัฒนาและการใช้งานจริง
0.10.1 (28/08/2559)
0.10.0 (08/28/2559)
- อัปเดตเป็น Flask 0.11
- ใช้ Click แทน Flask-Script สำหรับคำสั่ง CLI
0.9.0 (03/06/2559)
- อัปเดตข้อกำหนดเก่า
- เพิ่มการป้องกัน CSRF
- เรียกใช้คำสั่ง
lint
บน Travis builds - ทดสอบกับ Python 3.5
0.8.0 (11/09/2558)
- อัปเดตข้อกำหนดเก่า
- เพิ่มคำสั่งการจัดการ
lint
, clean
และ urls
- เพิ่ม isort.
ขอบคุณ @andreoliw สำหรับการสนับสนุนเหล่านี้
0.7.0 (04/14/2558)
- อัปเดตรูปแบบการนำเข้าส่วนขยายเป็น flask_* ตาม mitsuhiko/flask#1135
- อัปเดตข้อกำหนดเก่า (Werkzeug, Flask-WTF, WTForms, Flask-Bcrypt, Flask-DebugToolbar, Flask-Migrate, Bootstrap, jQuery) ขอบคุณ @bsmithgall ที่แจ้งให้ฉันทราบถึงแพทช์ที่สำคัญของ Flask-Migrate
0.6.0 (12/01/2557)
- ทดสอบเครื่องตัดคุกกี้บน Travis ขอบคุณ @joshfriend.
- อัปเดตข้อกำหนดเก่า (Flask-WTF, Flask-Migrate, Flask-DebugToolbar)
0.5.0 (29/09/2557)
- แก้ไข .travis.yml
- อัปเดตข้อกำหนดเก่า (Flask-WTF, WTForms, Flask-SQLAlchemy, jquery, Bootstrap)
0.4.3 (27/07/2557)
- เพิ่มคลาส
BaseFactory
- เพิ่มโมดูล compat.py
- การทดสอบผ่าน Python 3
0.4.2 (27/07/2557)
- อัปเดตโรงงานเป็น Factory-boy >= 2.4.0 ไวยากรณ์
- อัปเดตข้อกำหนดเก่า
0.4.1 (06/07/2557)
- อัปเดตข้อกำหนดเก่า (Werkzeug 0.9.6, WTForms 2.0)
- แก้ไขแท็ก div ที่ไม่ตรงกันใน home.html (ขอบคุณ @level09)
0.4.0 (04/19/2557)
- เพิ่ม ReferenceCol สำหรับคอลัมน์คีย์ต่างประเทศที่มีรายละเอียดน้อยลง
- เพิ่มมิกซ์ SurrogatePK เพื่อเพิ่มคีย์หลักจำนวนเต็มให้กับโมเดล
- เพิ่มคลาส Model พื้นฐานที่มีวิธีอำนวยความสะดวก CRUD
- แก้ไขการตั้งค่าความซับซ้อนในการเข้ารหัส BCrypt การทดสอบจะเร็วขึ้นมาก
- เพิ่มโมเดลบทบาทเพื่อแสดงการใช้งาน ReferenceCol
- เปลี่ยนเป็น pytest
- อัปเกรดข้อกำหนดที่ล้าสมัยทั้งหมด
- ตัวอย่างการทดสอบเพิ่มเติม
- ลบ "ปี" ออกจาก cookiecutter.json (เพียงเปลี่ยน LICENSE หากจำเป็น)
0.3.2 (02/26/2557)
0.3.1 (02/20/2557)
- อัปเดตปีเริ่มต้นใน cookiecutter.json ขอบคุณ @Omeryl
- การทดสอบการเปลี่ยนเส้นทางที่ถูกต้องในการทดสอบเว็บ ขอบคุณ @Widdershin
- แก้ไขการดำเนินการ POST ในรูปแบบการนำทาง ขอบคุณ @Widdershin
- อัปเดต Bootstrap (3.1.1) และ jQuery (2.1.0)
- การสนับสนุนเพิ่มเติมสำหรับซุ้ม
- สินทรัพย์ย่อส่วนไม่ได้ใช้ในสภาพแวดล้อมการพัฒนา
0.3.0 (12/08/2556)
- องค์กรแบบโมดูลาร์มากขึ้น: แต่ละพิมพ์เขียวประกอบด้วยมุมมอง โมเดล และแบบฟอร์มของตัวเองในไดเร็กทอรี ยังคงมีไดเร็กทอรีเดียวสำหรับเทมเพลตและสินทรัพย์คงที่
- ใช้ Flask-Bcrypt สำหรับการแฮชรหัสผ่าน
- Flask-Login เพื่อตรวจสอบสิทธิ์
- การตั้งค่าการทดสอบอย่างง่าย เพียงสร้างคลาสย่อยของ
DbTestCase
- รองรับการทดสอบขวด
- ใช้ Factory-Boy สำหรับโรงงานทดสอบ
- ใช้ WebTest สำหรับการทดสอบการทำงาน
- เพิ่มแถบเครื่องมือ Flask-Debug
- การย้ายข้อมูลโดยใช้ Flask-Migrate
- การแคชโดยใช้ Flask-Cache
- เพิ่มเทมเพลตหน้าข้อผิดพลาด (404, 401, 500)
- เพิ่ม Font Awesome 4.0.3 สำหรับไอคอน
0.2.0 (09/21/2556)
- เพิ่มสคริปต์ Manage.py
- เพิ่ม Flask-Assets สำหรับการรวมกลุ่ม CSS และ JS + การลดขนาด
- ใช้การกำหนดค่าที่แตกต่างกันสำหรับสภาพแวดล้อมการพัฒนาและการใช้งานจริง ควบคุมโดยตัวแปรสภาพแวดล้อมระบบ MYFLASKAPP_ENV
- ใช้พิมพ์เขียวและรูปแบบโรงงานแอปพลิเคชัน สาขา
simple
ไม่ได้ใช้สิ่งเหล่านี้
0.1.0 (08/20/2556)
- ทำซ้ำครั้งแรก
- Bootstrap 3 รอบชิงชนะเลิศ
- รูปแบบผู้ใช้งานและการลงทะเบียน