모델이 있는 Django 스타터

이것은 Dev.to의 첫 번째 게시물입니다. 나는 새로운 것을 시도하고 있는데 django에 접속했는데 설정이 약간 혼란스러워서 같은 주제에 대한 이 튜토리얼/블로그를 만들고 있습니다.

이 django의 기본 스타터는 나중에 참조할 수 있도록 프로젝트 및 앱을 만드는 단계를 거쳤습니다. 이것은 직원 정보를 저장하고 웹 페이지에 렌더링하기 위한 django 응용 프로그램입니다.

설치할 사전 요구 사항 소프트웨어:


  • 파이썬
  • 장고

  • 장고 설치:

    ➜ python -m pip install Django
    



    동일한 앱을 만드는 단계:



    1. 새 사이트 만들기




    ➜ django-admin startproject employee_site
    



    2. 새로운 앱 만들기




    ➜ django-admin startapp employees
    


  • ❗️ 전체 문서에서 나는 employee_site를 사이트로, 직원을 앱
  • 으로 언급할 것입니다.
  • ❗️ Linux OS를 가지고 있기 때문에 쉘 명령에서 python3을 사용했습니다. Windows를 사용하는 경우 python3 대신 python을 사용하십시오
  • .


    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.

    좋은 웹페이지 즐겨찾기