Django(4) - 뷰 및 템플릿 구성

18749 단어 Django
뷰의 기본 사용
개술
Django에서 보기는 웹 요청에 대한 응답입니다. 보기는python 함수입니다.views에서.py 파일에 정의되어 있습니다.뷰 정의: 예: myApp\views.py에 쓰기
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("Sunck is a good man")

url 설정
  • 방법 1: path 방법: 프로젝트 디렉터리에 있는 urls를 수정합니다.py 파일:
    from django.contrib import admin
    from django.urls import path, include
    urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myApp.urls')),
    ]
    
    myApp 응용 프로그램 디렉터리에 urls를 생성합니다.py 파일:
    from django.urls import path, include
    from . import views
    urlpatterns = [
    path('',views.index),
    ]
    
  • 방법2: url 방법: 프로젝트 디렉터리에 있는 urls를 수정합니다.py 파일:
    from django.contrib import admin
    from django.conf.urls import url,include
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('myApp.urls')),
    ]
    
    myApp 응용 프로그램 디렉터리에 urls를 생성합니다.py 파일:
    from django.conf.urls import url
    from . import views
    urlpatterns = [
    url(r'^$', views.index),
    ]
    
  • 템플릿의 기본 사용
    개술
    템플릿은 HTML 페이지로 보기에서 전달된 데이터에 따라 템플릿을 작성할 수 있습니다:templates 디렉터리를 만들고 디렉터리에 대응하는 프로젝트의 템플릿 디렉터리(project/templates/myApp)를 만들고 템플릿 경로를 설정합니다:settings.py 파일의 TEMPLATES 아래의'DIRS'는'DIRS'입니다. [os.path.join(BASE DIR,'templates')],grades를 정의합니다.html와students.html 템플릿:templates\myApp\디렉토리에grades를 만듭니다.html와students.html 템플릿 파일 템플릿 문법: {{출력 값, 변수, 대상, 속성} {% 실행 코드 세그먼트%}http://127.0.0.1:8000/gradesgrades를 씁니다.html 템플릿:
    
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport"
    content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>    title>
    head>
    <body>
    <h1>      h1>
    <ul>
    
    {%for grade in grades%}
    <li>
    <a href="#">{{grade.gname}}a>
    li>
    {%endfor%}
    ul>
    body>
    html>
    

    뷰 정의: myApp\views.py
    from .models import Grades
    def grades(request):
    	#        
    	gradesList = Grades.objects.all()
    	#         ,       ,             
    	return render(request, 'myApp/grades.html', {"grades": gradesList})
    

    url 구성: myApp\urls.py
    urlpatterns = [
    url(r'^$', views.index),
    url(r'^(\d+)/(\d+)$', views.detail),
    url(r'^grades/', views.grades)
    ]
    

    페이지 방향 지정http://127.0.0.1:8000/students학생스 써.html 템플릿
    
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport"
    content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>    title>
    head>
    <body>
    <h1>      h1>
    <ul>
    {%for student in students%}
    <li>
    {{student.sname}}--{{student.scontend}}
    li>
    {%endfor%}
    ul>
    body>
    html>
    

    뷰 정의: myApp\views.py
    from .models import Students
    def students(request):
    	studentsList = Students.objects.all()
    	return render(request, 'myApp/students.html', {"students": studentsList})
    

    url 구성: myApp\urls.py
    urlpatterns = [
    url(r'^$', views.index),
    url(r'^(\d+)/(\d+)$', views.detail),
    url(r'^grades/', views.grades),
    url(r'^students/', views.students),
    ]
    

    좋은 웹페이지 즐겨찾기