簡介:

Django是一個基於Python的開源web應用框架,採用了MT』V的框架模式,他源自一個在線新聞web站點,以比利時的一個柬埔寨吉他手的名字命名(他的曲子真的很不錯)。Django不算很年輕,但是對於一個web開發者,深入學習Django,永遠都不會過時。

安裝(Windows下):

在安裝Django框架之前你的PC需要有一個Python環境,Python環境並不難搭建,就不在此過多贅述。

搭建好Python環境後,直接在官網的下載欄下載即可(點擊此處下載)(目前Django1.6.x以上版本已經完全兼容Python3.x)。下載好安裝包後,加壓並和Python安裝目錄放在同一個根目錄,進入Django目錄。

在此目錄下打開終端,並執行python setup.py install,然後開始安裝,Django將要被安裝到Python的Lib下site-packages。

最後是配置環境變數,將目錄添加到系統環境變數當中即可。完成後就可以使用Django的django-admin.py命令新建工程了。

開始你的Django之旅:

創建django項目:

使用 django-admin.py 來創建一個名為mysite的項目:

django-admin.py startproject mysite

創建完成後,通過manage.py啟動django自帶的伺服器:

python manage.py runserver

默認在127.0.0.1:8000啟動服務,訪問該地址顯示以下頁面表示創建成功:

創建新的app:

創建完項目後,在mysite目錄下創建一個名為HelloDjango的app:

python manage.py startapp HelloDjango

創建完成後目錄結構如下:

HelloDjango/

   __init__.py

   admin.py

   migrations/

       __init__.py

   models.py

   tests.py

views.py

創建完成後在setting.py中找到INSTALLED_APPS,輸入『HelloDjango』

設計你的模型:

Django一個比較方便的地方是它附帶了一個可以用Python代碼描述資料庫布局的對象關係映射器,數據模型語法提供了許多豐富的方法來展現你的模型。

創建一個包含title,content,pub time的模型:

models.py:

from django.db import models
class Article(models.Model):
    title = models.CharField(max_length=32,default='Title')
    content = models.TextField(null=True)
    pub_time = models.DateTimeField(auto_now_add=True)

創建完成後同步資料庫:

python manage,py makemigrations
python manage.py migrate

並在admin.py中註冊:

from django.contrib import admin
from .models import Article
admin.site.register(Article)

Admin 管理工具

Django 最強大的部分之一是自動生成的Admin 界面。它讀取模型中的元數據來提供一個強大的、生產環境就緒的界面,使內容提供者能立即用它向站點中添加內容。你可以通過 python manage.py createsuperuser創建管理員賬號,通過127.0.0.1:8000/admin訪問Admin界面。

你可在settings.py中將Admin界面的語言和時間設置為中國

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

在Admin界面中你可訪問並管理之前註冊的Article模型,如添加一篇新的內容:

前端頁面

Django的前端頁面保存在Templates文件夾中,在HelloDjango中新建Templates文件夾並編寫自己的前端代碼。圖片等資源則需要保存在static文件夾中

配置url與views

我們可以為每個app單獨配置url,

  • 首先配置mysite中的urls.py
from django.contrib import admin
from django.urls import path
from django.urls import include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('HelloDjango/',include('HelloDjango.urls')),
]
  • 在HelloDjango中新建urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^$',views.index),
]
  • 在views.py中
from django.shortcuts import render
from . import models
def index(request):
    return render(request,'index.html')

此時訪問http://127.0.0.1:8000/HelloDjango則會顯示自己編寫的index.html的內容

如:

在網頁中載入資料庫中的內容:

  • 在views.py中載入:
def Article(request,Article_id):
    article = models.Article.objects.get(pk=Article_id)
    return render(request,'article.html',{'article':article})
  • 在urls.py中添加:
url('article/(?P<Article_id>[0-9]+)$', views.Article)
  • 在article.html中通過{{article.title}},{{article.content}},{{article.pup_time}}可以分別載入出文章的標題,內容,時間(對應自己創建的模型)

完成後通過『127.0.0.1:8000/HelloDjango/article/』 + 文章的id 就可以訪問指定的文章

如127.0.0.1:8000/HelloDjango/article/1 訪問新建的第一篇文章:

了解更多,歡迎訪問(別著急,後面有彩蛋)

GitHub:https://github.com/django/django

官網:   https://www.djangoproject.com/

 

彩蛋:

關於吉他手Django Reinhardt

法國著名吉他手,爵士樂史上的偉大琴師。1910年出生於比利時,

因18歲時一次意外導致只能以三個健全手指進行演奏,但仍然創造了傳世的音樂作品

和令人讚歎的成就。1953年在法國去世。