첫 번째 Django 응용 프로그램 쓰기 (1)

4466 단어
자습서를 통해 우리는 투표 응용 프로그램을 완성했다.
  • 의 유니버설 사이트: 투표를 하고 투표 수를 볼 수 있습니다.
  • 관리자 사이트: 관리자가 투표 수를 추가, 수정 및 삭제합니다.

  • 기본적으로 시스템에 Django가 설치되어 있습니다.터미널에서 다음 명령을 입력하여 Django 버전을 볼 수 있습니다.$ python -m django --version
    프로젝트 만들기
    만약 Django를 처음 사용한다면, Django 프로젝트를 만들어야 합니다. Django 실례적인 설정 집합을 포함합니다. 예를 들어 데이터베이스 파라미터, Django 파라미터, 응용 프로그램 파라미터를 포함합니다.터미널에 들어가고cd 작업 디렉토리에 들어가서 다음 명령을 입력합니다.$ django-admin startproject mysite
    작업 디렉터리에 mysite 폴더를 만들 것입니다.
  • 주의: 프로젝트 이름이 파이톤 내장 모듈이나 Django 구성 요소와 같은 이름을 가지는 것을 피하십시오.
  • 프로젝트는 어디에서 실행되어야 합니까? 오래된 php 프로젝트가 있다면 웹 서버의 루트 디렉터리에 두어야 합니다. /var/wwwDjango에서는 그럴 필요 없어요.그리고 파이썬 스크립트를 웹 서버의 루트 디렉터리에 두는 것은 안전하지 않아서 일부 해커들은 사이트의 모든 코드를 볼 수 있다.그래서 코드를 다른 디렉터리에 두십시오. (/home/mycode

  • 다음은 startproject에 생성된 파일을 살펴보겠습니다.
    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            wsgi.py  
    

    이러한 파일의 역할은 다음과 같습니다.
  • 외층mysite/은 프로젝트를 수용하는 용기다.그것의 이름은 중요하지 않기 때문에 마음대로 이름을 지을 수 있습니다.
  • manage.py: 파이톤의promt에서 Django와의 상호작용에 도움이 되는 명령행 구성 요소
  • 내부mysite/는 프로젝트의 진정한 파이톤 패키지입니다.이것은 Python 패키지이기 때문에 이 패키지의 모든 대상을 가져올 수 있습니다. (예: mysite.urls)
  • mysite/__init__.py: 파이썬이 디렉터리가 가방이라는 것을 알리는 빈 파일입니다.
  • mysite/settings.py: 이 Django 프로젝트의 설정/설정.
  • mysite/urls.py: 이 항목의 모든 URL이 비칩니다.
  • mysite/wsgi.py: 계속...

  • 개발 모드의 서버
    Django 프로젝트를 실행할 수 있는지 확인하기 시작합니다.외부mysite 디렉토리에 들어가서 다음 명령을 실행합니다.$ python manage.py runserver
    명령의 출력은 다음과 같습니다.

    ...
    ...
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.

    
            Django        ,     Python       。          ,           。              。
      ,               ```http://127.0.0.1:8000```。    Django     ```Welcome to Django```。
    >######     :
    **runserver**              8000     (```127.0.0.1:8000```)
                 ,               。  ,       8080       :
    ```$ python manage.py runserver 8080```
    
               ip   ,         ip(                ):
    ```$ python manage.py 0.0.0.0:8080```
    
    >######          :
             ,            Python  。       ,                。  ,                   。
    
    ####       
      ,                。         。
     Django                 。  Django                      。
    >######         :
                  ?       webapp,        ,        。        ,                  。              。            ,               。
    
            Python path 。     ,         **manage.py** ,           ,   **mysite**    。
                :
    >```$ python manage.py startapp polls```
    
             :
    

    polls/
    init.py
    admin.py
    apps.py
    migrations/
    init.py
    urls.py
    models.py
    tests.py
    views.py

    ####         
              。       **polls/views.py**,         :
    

    from django.http import HttpResponse

    def index(request):
    return HttpResponse(r"

    Hello world! You're in the index page!

    ")
     **polls/urls.py**       :
    

    from django.conf.urls import url
    from . import views

    urlpatterns = [
    url(r'^index/$', views.index, name='index'),
    ]

         **site/urls**         url  (    django.conf.urls.include)。
    

    from django.conf.urls import include, url
    from django.contrib import admin

    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^polls/', include('polls.urls')),
    ]

    **include()**         URLs。  ,**include()**       ,  **$**(    ),     。 Django  **include()** ,  url   ,            ,            url      。
    >      include():
      **admin.site.urls**  ,     include()      urls。
    
             ```http://localhost:8000/polls```,  **index**      。
    **url()**          ,       :**     ** **    **,      :**  ** **url  **。              :
    - **     **:           。
    - **    **: Django             ,Django          ,      **HttpResponse**  。
    - **  **:                         。
    
    

    좋은 웹페이지 즐겨찾기