모델이 있는 Django 스타터
이 django의 기본 스타터는 나중에 참조할 수 있도록 프로젝트 및 앱을 만드는 단계를 거쳤습니다. 이것은 직원 정보를 저장하고 웹 페이지에 렌더링하기 위한 django 응용 프로그램입니다.
설치할 사전 요구 사항 소프트웨어:
장고 설치:
➜ python -m pip install Django
동일한 앱을 만드는 단계:
1. 새 사이트 만들기
➜ django-admin startproject employee_site
2. 새로운 앱 만들기
➜ django-admin startapp employees
3. 새로운 뷰 생성
앱의 views.py에 새 보기 추가
"app"디렉토리에 urls.py 파일 생성
view.py에 다음 코드를 복사하여 붙여넣습니다.
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def employees_page(request):
return HttpResponse('Hello World')
urls.py에서 볼 URL 추가
from django.urls import path
from .import views
urlpatterns = [
path('',views.employees_page, name="employees")
]
"사이트"의 urls.py로 이동하고 포함 방법을 사용하여 앱에 새 경로를 추가합니다.
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('employees/', include("employees.urls")),
]
이제 사이트 내 settings.py에 앱 이름을 추가하세요.
INSTALLED_APPS = [
'exmployees',
'django.contrib.admin',
....
이제 앱에 언급된 URL로 이동하여 views.py에 추가된 응답을 볼 수 있습니다.
http://localhost:8000/employees/
4. 모델 추가
"app"에서 models.py로 이동하여 새 모델을 만듭니다.
from django.db import models
# Create your models here.
class employees_db(models.Model):
emp_id = models.AutoField
firstName = models.CharField(max_length=30)
lastName = models.CharField(max_length=30)
dept = models.CharField(max_length=30)
salary = models.IntegerField()
def __str__(self):
return self.firstName
사이트 내부에 모델을 추가하려면 사이트의 settings.py 내부에 appConfig를 추가해야 합니다.
구성을 복사하려면 먼저 "app"의 apps.py로 이동하여 이 예에서 "AppNameConfig"를 복사합니다. 직원 구성입니다. 자동으로 생성됩니다.
from django.apps import AppConfig
class EmployeesConfig(AppConfig):
name = 'employees'
이제 사이트의 settings.py로 이동하고 설치된 앱 목록으로 이동하여 "appName.apps.AppNameConfig"를 추가합니다. 이 예에서는 EmployeesConfig입니다.
INSTALLED_APPS = [
'employees.apps.EmployeesConfig',
'django.contrib.admin',
...
]
터미널로 이동하여 마이그레이션을 업데이트하고 마이그레이션하십시오. manage.py와 같은 디렉토리에 있는지 확인하십시오.
➜ python3 manage.py makemigrations
➜ python3 manage.py migrate
이제 모델이 데이터베이스에 추가되었습니다.
5. 관리자 패널에 액세스하기
먼저 새로운 수퍼유저를 생성해야 합니다.
➜ python3 manage.py createsuperuser
적절한 정보와 비밀번호를 추가하십시오
그리고 서버를 다시 실행
➜ python3 manage.py runserver
/admin 페이지로 이동하여 관리자 이름과 비밀번호를 추가합니다.
http://localhost:8000/admin
6. 모델 등록
모델을 사용하려면 모델을 등록해야 합니다.
그렇게 하려면 앱에서 admin.py로 이동하세요.
새로 생성된 모델 가져오기
모델 등록
코드 :
from django.contrib import admin
from .models import employees_db
# Register your models here.
admin.site.register(employees_db)
서버를 다시 시작하십시오.
이제 관리자 패널에 등록된 모델을 확인할 수 있습니다.
7. 템플릿 생성 및 보기에 추가
앱 디렉토리에 "템플릿"이라는 새 폴더를 만들고 새 html 파일을 추가합니다.
➜ mkdir templates
➜ touch index.html
이제 앱에서 views.py로 이동하여 템플릿에서 html 페이지를 렌더링하는 return 문을 추가합니다.
return render(request, 'index.html',dbData)
8. 모델에서 데이터 가져오기
먼저 관리자 페이지로 이동합니다.
http://localhost:8000/admin
이제 Employees_db가 생성된 것을 볼 수 있습니다. 클릭하고 새 직원을 추가할 수 있습니다.
완료되면 앱에서 view.py로 이동합니다.
이제 먼저 employee_db인 모델을 가져온 다음
db 데이터를 하나의 변수에 저장하고 해당 데이터를 세 번째 매개변수로 템플릿에 전달합니다.
암호:
from django.shortcuts import render
from django.http import HttpResponse
from employees.models import employees_db
# Create your views here.
def employees_page(request):
# fetching data from models
dbData = {"data" : employees_db.objects.all()}
return render(request, 'index.html',dbData)
이제 dbData 변수를 통해 데이터베이스에서 데이터에 액세스할 수 있습니다.
9. 데이터를 템플릿으로 렌더링
템플릿\/으로 이동하여 index.html을 엽니다.
dbData 개체/사전에 전달된 데이터 키를 사용할 수 있습니다.
우리는 그것을 반복하고 예를 들어 속성 값을 렌더링합니다. emp.firstName은 firstName 값을 제공합니다.
<div class="container-style">
{% for emp in data %}
<div class="emp-card">
<p class="id"><b>ID:</b> {{emp.id}}</p>
<p class="name"><b>Name:</b> {{emp.firstName}} {{emp.lastName}}</p>
<p class="dept"><b>Dept:</b> {{emp.dept}}</p>
<p class="salary"><b>Salary:</b> $ {{emp.salary}}</p>
</div>
{% endfor %}
</div>
내 index.html 페이지에 포함된 선택적 스타일을 추가할 수 있습니다.
🥳 앱이 완성되었습니다 🎉
앱 실행:
python3 manage.py runserver
직원 페이지를 확인하십시오. 확인하려면 다음 링크로 이동하십시오.
http://localhost:8000/employees/
결국 우리 사이트는 다음과 같이 될 것입니다.
결론
지금까지 django에서 프로젝트와 앱을 생성하고 모델을 생성하는 방법을 배웠습니다. 또한 관리자를 만들고 모델에 새 속성을 추가한 다음 속성을 html 페이지에 렌더링하는 방법도 배웠습니다.
내 repo tinker를 자유롭게 포크하세요 😄
github 저장소를 확인하십시오here.
Reference
이 문제에 관하여(모델이 있는 Django 스타터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pratham82/django-starter-with-models-2f0k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)