django의 기초_망비록_그 1(Django의 MTV를 사용해 로컬 서버에서 마음대로 텍스트를 표기시키자)

처음 뵙겠습니다 jack입니다.
8월부터 Python을 메인으로 엔지니어 업무에 종사하게 되었습니다.
거기서 어차피라면 Django도 배우면 귀신에 금봉. 구시견용고에 메리켄삭이군요.
이번은 표제대로 표시하고 싶은 텍스트를 MTV를 사용하여 표시시키는 것이 목표입니다.

이하, 참조한 사이트, 도서입니다.
환경 구축도 이쪽을 참조하면 할 수 있다고 생각합니다. 둥근 던지기에 미안해. 테헤 페로 코 츠 코 쿤
  • 빠른 설치 가이드 | Django 설명서 | Django
  • 첫 Django 앱 만들기, 그 1 | Django 문서 | Django
  • "Python3 + Django2.0 입문 - Python으로 만드는 웹 애플리케이션 개발 입문 - 그 1"


  • 그건 그렇고, 내 개발 환경은 다음과 같습니다.
  • Python 3.6.7
  • 장고 2.2.3
  • macOS

  • 그럼, 조속히.
    django-admin startproject djangoApp
    

    터미널에서 실행하여 앱을 만듭니다!
    cd djangoApp
    ls
    

    에서 내용을 확인하면
  • djangoApp
  • manage.py

  • 작성되었습니다. 오, 오! ! !

    그런 다음 djangoApp 바로 아래에 views.py 만들기

    djangoApp 디렉토리
    djangoApp
    ├── _init_.py
    ├── setting.py
    ├── urls.py
    ├── views.py ←ここ
    └── wsgi.py
    

    어쨌든 djangoApp/views.py에 아래와 같이 입력시켜 스테디셀러 문장을 하면.
    from django.http import HttpResponse
    
    def index(requsest):
        return HttpResponse('Hello World')
    

    이제 요청에 대해 텍스트로 응답 할 수 있어야합니다.

    그런 다음 djangoApp/urls.py 변경
    from django.contrib import admin
    from django.urls import path
    from . import views
    
    urlpatterns = [
       path('admin/', admin.site.urls),
       path('index/', views.index),
    ]
    

    위의 변경 사항을 저장 한 후 터미널에서 로컬 서버를 시작합니다.
    python3 manage.py runserver
    

    localhost : 8000/index에 액세스하면,,,



    제대로 나왔습니다!

    다음은 앱을 추가하고 그곳에서도 표기할 수 있는지 시도해 봅시다!
    python3 manage.py startapp hoge
    

    그렇다면 디렉토리는 이렇게 될 것입니다.

    djangoApp 디렉토리
    ├── djangoApp
    │   ├── __pycache__ 
    │   ├── _init_.py
    │   ├── setting.py
    │   ├── urls.py
    │   ├── views.py
    │   └── wsgi.py
    ├── hoge
    │   ├── __pycache__
    │   ├── migrations  
    │   ├── _init_.py  
    │   ├── admin.py
    │   ├── apps.py
    │   ├── models.py
    │   ├── tests.py
    │   └── views.py
    └── manage.py
    

    작성한 foge/views.py를 아래에 편집
    from django.http import HttpResponse
    
    def index(requsest):
        return HttpResponse("Hello World")
    
    def ue(requsest):
        return HttpResponse("ue")
    
    def shita(requsest):
        return HttpResponse("shita")
    

    다음은 foge 디렉토리 바로 아래에 urls.py를 만듭니다.

    djangoApp 디렉토리
    ├── djangoApp
    │   ├── __pycache__ 
    │   ├── _init_.py
    │   ├── setting.py
    │   ├── urls.py
    │   ├── views.py
    │   └── wsgi.py
    ├── hoge
    │   ├── __pycache__
    │   ├── migrations  
    │   ├── _init_.py  
    │   ├── admin.py
    │   ├── apps.py
    │   ├── models.py
    │   ├── tests.py
    │   ├── urls.py ←ここ
    │   └── views.py
    └── manage.py
    

    그리고이 urls.py를 편집합니다.
    from django.urls import path
    from . import views
    
    urlpatterns = [
    path("", views.index),
    path("ue/", views.ue),
    path("shita", views.shita),
    ]
    

    다음에 추가한 hoge 앱에의 연결을 작성.

    djangoApp/urls.py
    from django.contrib import admin
    from django.urls import path, include
    from . import views
    
    path('admin/', admin.site.urls),
    path('index/', views.index),
    path('hoge/', include('hoge.urls')),
    

    그럼 여기까지 작성한 것을 저장하고 로컬 서버를 다시 한번 시작해 본다.




    잘 추가 앱과 연결이 가능했습니다! !
    그럼 이 표시에 HTML과 CSS를 적응시키자!
    그 때문에 django/setting.py의 하단에
    STATIC_URL = '/static/'
    

    추가

    djangoApp/setting.py
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
    

    BASE_DIR 아래에 위를 추가합니다.
    그런 다음 정적 디렉토리를 다음 위치에 만듭니다.

    djangoApp 디렉토리
    ├── djangoApp
    │   ├── __pycache__ 
    │   ├── _init_.py
    │   ├── setting.py
    │   ├── urls.py
    │   ├── views.py
    │   └── wsgi.py
    ├── hoge
    │   ├── __pycache__
    │   ├── migrations  
    │   ├── _init_.py  
    │   ├── admin.py
    │   ├── apps.py
    │   ├── models.py
    │   ├── tests.py
    │   ├── urls.py 
    │   └── views.py
    ├── static ←ここ
    └── manage.py
    

    그래서 static 바로 아래에 style.css의 파일을 작성해 아래와 같이 편집을 실시합니다.

    static/style.css
    h1 {
       color: blue
    }
    

    그런 다음 템플릿 디렉토리를 만듭니다.

    djangoApp 디렉토리
    ├── djangoApp
    │   ├── __pycache__ 
    │   ├── _init_.py
    │   ├── setting.py
    │   ├── urls.py
    │   ├── views.py
    │   └── wsgi.py
    ├── hoge
    │   ├── __pycache__
    │   ├── migrations  
    │   ├── _init_.py  
    │   ├── admin.py
    │   ├── apps.py
    │   ├── models.py
    │   ├── tests.py
    │   ├── urls.py 
    │   └── views.py
    ├── static
    ├── templates ←ここ
    └── manage.py
    

    그래서 templates 바로 아래에 index.html을 작성해 아래의 편집을 실시합니다.

    templates/index.html
    <!DOCTYPE html>
    <html lang="ja">
      <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="/static/style.css">
      </head>
      <body>
        <h1>{{title}}</h1>
    
      </body>
    </html>
    

    그래서 이 작성한 템플릿의 존재를 알려 드리겠습니다.

    djangoApp/setting.py
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, "templates")], ここ
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
    
    

    이 작성한 css와 html을 view에 반영시키기 위해 편집합니다.

    djangoApp/views.py
    from django.http import HttpResponse
    from django.shortcuts import render
    
    def index(requsest):
        return render(requsest, 'index.html',
        {"title":'Hello World!!!'})
    

    그리고 편집 후 로컬 서버의 인덱스를 살펴보면



    확실히 html과 CSS를 반영시킬 수 있습니다!
    이제 언제든지 좋아하는 문장을 장고를 사용하여 표기할 수 있군요! (자신에게 말하는 울음)

    그럼 안녕 안녕 안녕

    좋은 웹페이지 즐겨찾기