คุณสามารถ แยกหรือโคลน พื้นที่เก็บข้อมูลนี้และใช้งานได้เหมือนเดิม
มันใช้งานได้
หากคุณต้องการมีพื้นที่เก็บข้อมูลส่วนตัว GitHub จะไม่อนุญาตให้คุณแยกมันออกไป เนื่องจากไม่อนุญาตให้เปลี่ยนการมองเห็นของส้อม
แต่คุณสามารถทำสิ่งต่อไปนี้:
my-full-stack
my-full-stack
: git clone [email protected]:fastapi/full-stack-fastapi-template.git my-full-stack
cd my-full-stack
git remote set-url origin [email protected]:octocat/my-full-stack.git
git remote add upstream [email protected]:fastapi/full-stack-fastapi-template.git
git push -u origin master
หลังจากโคลนพื้นที่เก็บข้อมูล และหลังจากทำการเปลี่ยนแปลง คุณอาจต้องการรับการเปลี่ยนแปลงล่าสุดจากเทมเพลตดั้งเดิมนี้
git remote -v
origin [email protected]:octocat/my-full-stack.git (fetch)
origin [email protected]:octocat/my-full-stack.git (push)
upstream [email protected]:fastapi/full-stack-fastapi-template.git (fetch)
upstream [email protected]:fastapi/full-stack-fastapi-template.git (push)
git pull --no-commit upstream master
การดำเนินการนี้จะดาวน์โหลดการเปลี่ยนแปลงล่าสุดจากเทมเพลตนี้โดยไม่ต้องคอมมิต เพื่อให้คุณสามารถตรวจสอบทุกอย่างถูกต้องก่อนที่จะคอมมิต
หากมีข้อขัดแย้ง ให้แก้ไขในโปรแกรมแก้ไขของคุณ
เมื่อเสร็จแล้ว ให้ยอมรับการเปลี่ยนแปลง:
git merge --continue
จากนั้นคุณสามารถอัปเดตการกำหนดค่าในไฟล์ .env
เพื่อปรับแต่งการกำหนดค่าของคุณได้
ก่อนที่จะปรับใช้ ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนค่าอย่างน้อยสำหรับ:
SECRET_KEY
FIRST_SUPERUSER_PASSWORD
POSTGRES_PASSWORD
คุณสามารถ (และควร) ส่งผ่านสิ่งเหล่านี้เป็นตัวแปรสภาพแวดล้อมจากข้อมูลลับ
อ่านเอกสาร Deployment.md สำหรับรายละเอียดเพิ่มเติม
ตัวแปรสภาพแวดล้อมบางตัวในไฟล์ .env
มีค่าเริ่มต้นเป็น changethis
คุณต้องเปลี่ยนด้วยคีย์ลับ เพื่อสร้างคีย์ลับ คุณสามารถรันคำสั่งต่อไปนี้:
python -c " import secrets; print(secrets.token_urlsafe(32)) "
คัดลอกเนื้อหาและใช้เป็นรหัสผ่าน / รหัสลับ และเรียกใช้อีกครั้งเพื่อสร้างคีย์ความปลอดภัยอื่น
พื้นที่เก็บข้อมูลนี้ยังรองรับการสร้างโปรเจ็กต์ใหม่โดยใช้ Copier
มันจะคัดลอกไฟล์ทั้งหมด ถามคำถามเกี่ยวกับการกำหนดค่า และอัปเดตไฟล์ . .env
ด้วยคำตอบของคุณ
คุณสามารถติดตั้งเครื่องถ่ายเอกสารด้วย:
pip install copier
หรือดีกว่าถ้าคุณมี pipx
คุณสามารถรันด้วย:
pipx install copier
หมายเหตุ : หากคุณมี pipx
การติดตั้งเครื่องถ่ายเอกสารเป็นทางเลือก คุณสามารถเรียกใช้ได้โดยตรง
ตัดสินใจตั้งชื่อไดเร็กทอรีโปรเจ็กต์ใหม่ของคุณ คุณจะใช้ชื่อนี้ด้านล่าง ตัวอย่างเช่น my-awesome-project
ไปที่ไดเร็กทอรีที่จะเป็นพาเรนต์ของโปรเจ็กต์ของคุณ และรันคำสั่งด้วยชื่อโปรเจ็กต์ของคุณ:
copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
หากคุณมี pipx
และไม่ได้ติดตั้ง copier
คุณสามารถเรียกใช้ได้โดยตรง:
pipx run copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
โปรดทราบว่า จำเป็นต้องใช้ตัวเลือก --trust
เพื่อให้สามารถรันสคริปต์หลังการสร้างที่อัปเดตไฟล์ .env
ของคุณได้
เครื่องถ่ายเอกสารจะขอข้อมูลบางอย่างจากคุณ คุณอาจต้องการมีก่อนที่จะสร้างโครงการ
แต่ไม่ต้องกังวล คุณสามารถอัปเดตสิ่งใดๆ ก็ได้ในไฟล์ .env
หลังจากนั้น
ตัวแปรอินพุตพร้อมค่าเริ่มต้น (บางตัวสร้างขึ้นอัตโนมัติ) คือ:
project_name
: (ค่าเริ่มต้น: "FastAPI Project"
) ชื่อของโปรเจ็กต์ที่แสดงต่อผู้ใช้ API (ใน .env)stack_name
: (ค่าเริ่มต้น: "fastapi-project"
) ชื่อของสแต็กที่ใช้สำหรับป้ายกำกับ Docker Compose และชื่อโปรเจ็กต์ (ไม่มีการเว้นวรรค ไม่มีจุด) (ใน .env)secret_key
: (ค่าเริ่มต้น: "changethis"
) รหัสลับสำหรับโปรเจ็กต์ที่ใช้เพื่อความปลอดภัยซึ่งจัดเก็บไว้ใน .env คุณสามารถสร้างได้ด้วยวิธีด้านบนfirst_superuser
: (ค่าเริ่มต้น: "[email protected]"
) อีเมลของ superuser คนแรก (ใน .env)first_superuser_password
: (ค่าเริ่มต้น: "changethis"
) รหัสผ่านของ superuser คนแรก (ใน .env)smtp_host
: (ค่าเริ่มต้น: "") โฮสต์เซิร์ฟเวอร์ SMTP ที่จะส่งอีเมล คุณสามารถตั้งค่าได้ในภายหลังใน .envsmtp_user
: (ค่าเริ่มต้น: "") ผู้ใช้เซิร์ฟเวอร์ SMTP ที่จะส่งอีเมล คุณสามารถตั้งค่าได้ในภายหลังใน .envsmtp_password
: (ค่าเริ่มต้น: "") รหัสผ่านเซิร์ฟเวอร์ SMTP เพื่อส่งอีเมล คุณสามารถตั้งค่าได้ในภายหลังใน .envemails_from_email
: (ค่าเริ่มต้น: "[email protected]"
) บัญชีอีเมลที่จะส่งอีเมลจาก คุณสามารถตั้งค่าได้ในภายหลังใน .envpostgres_password
: (ค่าเริ่มต้น: "changethis"
) รหัสผ่านสำหรับฐานข้อมูล PostgreSQL ซึ่งจัดเก็บไว้ใน .env คุณสามารถสร้างรหัสผ่านได้ด้วยวิธีการข้างต้นsentry_dsn
: (ค่าเริ่มต้น: "") DSN สำหรับ Sentry หากคุณใช้งานอยู่ คุณสามารถตั้งค่าได้ในภายหลังใน .env เอกสารแบ็กเอนด์: แบ็กเอนด์/README.md
เอกสารส่วนหน้า: frontend/README.md
เอกสารการปรับใช้: Deployment.md
เอกสารการพัฒนาทั่วไป: development.md
ซึ่งรวมถึงการใช้ Docker Compose, โดเมนท้องถิ่นที่กำหนดเอง, การกำหนดค่า .env
ฯลฯ
ตรวจสอบไฟล์ release-notes.md
เทมเพลต Full Stack FastAPI ได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT