Django 투표 사이트 구축 - 프로젝트 구조 초기화

3863 단어 django
  • 웹 사이트 기능
  • 사람들은 투표와 선거를 볼 수 있다
  • 관리 인터페이스에서 투표를 추가, 수정, 삭제할 수 있음
  • 프로젝트 디렉터리 구조를 초기화하고 프로젝트 폴더에 명령을 입력한다.
      django-admin startproject mysite
    프로젝트 구조는 다음과 같다.
    mysite/    //                ,        
        manage.py  //          ,       Django            
        mysite/  //    ,(mysite.urls)
            __init__.py  //    ,           
            settings.py  // django     /    
            urls.py //     ,      views.py      (  generic ),           
            wsgi.py // WSGI-compatible web     ,    
  • 실행 항목
  • cd mysite
    python manage.py runserver

    출력:
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    April 13, 2017 - 05:58:06
    Django version 1.11, using settings 'mysite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
  • 새 앱
  • python manage.py startapp learn // learn    app   

    mysite에는 다음과 같은 디렉토리에 learn 폴더가 추가됩니다.
    learn
        migrations/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
  • mysite/settings를 수정합니다.py 수정 INSTALLEDAPPS
  • INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
     
        'learn',
    )

    INSTALL에 learn 추가APPS에서는 주로 Django가 learn의 템플릿 파일을 자동으로 찾을 수 있도록 한다(learn/templates/...)및 정적 파일(learn/static/...)
  • learn에 정의 보기 함수를 적용하여learn/views를 엽니다.py, 소스 코드를 수정합니다.
  • #coding:utf-8
    from django.http import HttpResponse
     
    def index(req):
        return HttpResponse(u'This is Django Index')
  • 보기 함수와 관련된 URL을 정의하여 mysite/mysite/urls를 엽니다.py, 다음과 같이 수정:
  • urlpatterns = patterns('',
        url(r'^$', 'learn.views.index'),  # new
        # url(r'^blog/', include('blog.urls')),
     
        url(r'^admin/', include(admin.site.urls)),
    )
  • 실행 명령줄 실행:
  • python manage.py runserver

    출력:
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    April 13, 2017 - 05:58:06
    Django version 1.11, using settings 'mysite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.

    로컬 액세스 페이지의 경우 127.0.0.1:8000을 직접 액세스하면 됩니다. 호스트에서 액세스해야 하므로 실행해야 합니다.
    python manage.py runserver 0.0.0.0:800
  • 호스트 액세스 페이지
  • 호스트hosts가hosts 파일에 설정
  •    ip   www.mysite.com
  • 브라우저에서 xx에 액세스합니다.xx.xx.xx: 8000은 다음과 같이 잘못 보고되었습니다:
  • Invalid HTTP_HOST header: '192.168.150.128:8000'. You may need to add u'192.168.150.128' to ALLOWED_HOSTS.
      [13/Apr/2017 06:57:55] "GET / HTTP/1.1" 400 61165
  • mysite/mysite/settings를 수정합니다.py 수정 ALLOWEDHOSTS
  •   ALLOWED_HOSTS = [
      '   ip  ',
      'www.mysite.com'
      ]
            :xx.xx.xx.xx:8000  www.mysite.com:8000      This is Django Index
  • 참조http://www.ziqiangxuetang.com/django/django-views-urls.htmlhttps://docs.djangoproject.com/en/1.8/ref/settings/#allowed-hosts
  • 좋은 웹페이지 즐겨찾기