天天看點

Python項目-Day49-Django.md

##Python項目-Day49-Django

  1. 安裝Django
    pip install django
               
  2. 建立項目
    django-admin startproject testdj
               
    啟動項目:
    # python manage.py runserver 0.0.0.0:8000
     # python manage.py runserver 8080
     $ python manage.py runserver
               

    啟動django後,不能通路,報400錯誤。

    原因:沒有開啟允許通路

    處理:編輯HelloWorld目錄下setting.py ,把其中的

    ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=[’’] ## 表示任意位址。

  3. 項目目錄分析
    • 樹結構
    Python項目-Day49-Django.md
    • python_django_jobapp:項目的容器
    • manage.py: 一個實用的指令行工具,可讓你以各種方式與該 Django 項目進行互動。

      *python_django_jobapp/init.py: 一個空檔案,告訴 Python 該目錄是一個 Python 包。

      *python_django_jobapp/settings.py: **該 Django 項目的設定/配置。

    • python_django_jobapp/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。
    • python_django_jobapp/wsgi.py: 一個 WSGI 相容的 Web 伺服器的入口,以便運作你的項目。
    • static:項目的css和js檔案
      注意:要使用戶端能通路到static,需要公開static,在settings.py進行設定
      STATIC_URL = '/static/'
        STATICFILES_DIRS = [
            os.path.join(BASE_DIR, "static"),
        ]
                 
    • templates:項目的html檔案,需要在settings.py裡面設定
      TEMPLATES = [
            {
                'BACKEND': 'django.template.backends.django.DjangoTemplates',
                'DIRS': ['./templates'],
                'APP_DIRS': True,
                'OPTIONS': {
                    'context_processors': [
                        'django.template.context_processors.debug',
                        'django.template.context_processors.request',
                        'django.contrib.auth.context_processors.auth',
                        'django.contrib.messages.context_processors.messages',
                    ],
                },
            },
        ]
                 
    • python_django_jobapp/wsgi.py: 一個 WSGI 相容的 Web 伺服器的入口,以便運作你的項目。
  4. 在項目中建立應用
    python manage.py startapp polls
               
    項目和應用程式有什麼差別?
    應用程式是一種Web應用程式,它可以執行某些操作,例如Weblog系統,公共記錄資料庫或簡單的輪詢應用程式。項目是特定網站的配置和應用程式的集合。項目可以包含多個應用程式。一個應用程式可以在多個項目中。
  5. 建立路由

    在urls.py中:

    from django.urls import path
     
             from . import views
             
             urlpatterns = [
                 path('', views.index, name='index'),
             ]