장고로 자신의 톱 페이지를 폭속 (5 분)으로 표시

5413 단어 장고
장고를 설치하고 간이 서버를 시작하면 로켓이 날아가는 초기 화면이 표시되지만, 이번에는 템플릿을 통해 'Hello Django world!!'라고 표시시킵니다.
복사하면 5분도 걸리지 않고 표시할 수 있다고 생각합니다.
  • 작성 환경
  • MacOS Catalina 10.15.7
  • Python 3.8.5


  • 1.터미널에서



    venv 가상 환경에 장고 설치
    $ python -m venv venv
    $ . venv/bin/activate
    $ pip install django
    

    프로젝트 및 앱 만들기
    $ django-admin startproject config .
    $ python manage.py startapp app
    

    templates 폴더 및 각 파일 만들기
    $ mkdir templates
    $ touch {templates/index.html,templates/base.html,app/urls.py}
    

    다음과 같이 폴더 파일이 배치되었습니다.


    2. 각 파일의 작성·추기



    config/settings.py를 다음과 같이 추가하고 수정합니다.

    config/settings.py
    # osモジュール追記
    import os
    
    INSTALLED_APPS = [
      # 作成アプリを追記
      'app.apps.AppConfig'
    ]
    
    TEMPLATES = [
      {
        #テンプレートディレクトリパスを追記
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
      },
    ]
    
    # 言語コードとタイムゾーンを修正
    LANGUAGE_CODE = 'ja'
    TIME_ZONE = 'Asia/Tokyo'
    

    뷰 클래스를 만들고 표시할 템플릿(index.html)을 정의합니다.

    app/views.py
    # 追記
    from django.views.generic import TemplateView
    
    class IndexView(TemplateView):
        template_name = 'index.html'
    

    config/urls.py와 app/urls.py를 연결합니다.

    config/urls.py
    # include追記
    from django.urls import path,include
    
    urlpatterns = [
        # 追記
        path('',include('app.urls'))
    ]
    

    루트 디렉토리에 표시할 뷰를 정의합니다.

    app/urls.py
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.IndexView.as_view(), name='Index'),
    ]
    

    기본 템플릿을 설명합니다.

    base.html
    <!DOCTYPE html>
    <html lang="ja">
    <head>
      <meta charset="UTF-8">
      <title>title</title>
    {% block script %}{% endblock %}
    </head>
    <body>
    {% block contents %}{% endblock %}
    </body>
    </html>
    

    톱 페이지에 표시시키는 「Hello Django world!!」를 템플릿 태그내에 기술합니다.

    index.html
    {% extends 'base.html' %}
    
    {% block script %}
    {% endblock %}
    
    {% block contents %}
    <h1>Hello Django world !!</h1>
    {% endblock %}
    

    3. 서버 시작



    터미널보다 간단한 서버를 시작합니다.
    $ python manage.py runserver
    

    목표대로 「Hello Django world!!」라고 표시되었습니다.

    좋은 웹페이지 즐겨찾기