簡介:
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年在法國去世。