日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pythondjango网页开发_Python-Web开发 Django 简介

發布時間:2024/9/27 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythondjango网页开发_Python-Web开发 Django 简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 另一個 Web 開發框架 Django,它是一個基于 Python 定制的開源 Web 應用框架,最早源于一個在線新聞 Web 網站,后于2005年開源。

Django 框架

Django 采用了 MVC (即模型M,視圖V和控制器C)構造的 Web 框架,但由于控制器接受用戶輸入的部分由框架自行處理,所以使用 Django 開發中里更關注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV 模式。

Django 的主要目的是簡便、快速的開發數據庫驅動的網站。它強調代碼復用,多個組件可以很方便的以“插件”形式服務于整個框架,

Django 有許多功能強大的第三方“插件”,你甚至可以很方便的開發出自己的工具包,這使得 Django 具有很強的可擴展性。它還強調快速開發和 DRY(Do Not Repeat Yourself) 原則。

安裝 Django 庫

同其他模塊一樣,Django 的安裝也非常簡單,下面通過 pip3 包管理器來安裝

pip3 install django

安裝 Django 之后就可以使用管理工具?django-admin,可以用來創建項目,創建應用,啟動服務等操作命令。

$ django-admin

cleanup-- remove old data fromthe database

compilemessages-- compile .po files to .mo foruse with gettext

createcachetable-- creates table forSQL cache backend

createsuperuser--create a superuser

dbshell-- run command-line client forthe current database

diffsettings-- display differences between the current settings andDjango defaults

dumpdata--output contents of database as a fixture

flush-- execute 'sqlflush'on the current database

inspectdb-- output Django model module for tables indatabase

loaddata-- install the named fixture(s) inthe database

makemessages-- pull out all strings marked fortranslation

reset-- executes 'sqlreset' forthe given app(s)

runfcgi--run this project as a fastcgi

runserver-- start a lightweight web server fordevelopment

shell-- run a Python interactive interpreter. Tries to use IPython, if it's available

sql -- print the CREATE TABLE statements forthe given app(s)

sqlall-- print the CREATE TABLE, CREATE INDEX and custom statements forthe given app(s)

sqlclear-- print the DROP TABLE statements forthe given app(s)

sqlcustom-- print the custom table-modifying SQL statements forthe given app(s)

sqlflush-- print the SQL statements required to returnall tables to installation state

sqlindexes-- print the CREATE INDEX statements forthe given app(s)

sqlreset-- print the DROP TABLE and CREATE TABLE statements forthe given app(s)

sqlsequencereset-- print the SQL statements for resetting sequences forthe given app(s)

startapp-- create Django app directory in this project's directory

syncdb -- create database tables for apps inINSTALLED_APPS where required

test-- run the test suite for the specified app, orthe entire site

testserver-- run a development server with data fromthe given fixture(s)

validate-- validate all installed modules

創建一個項目

項目是 Django 實例的一系列設置的集合,它包括數據庫配置、Django 特定選項以及應用程序的特定設置。安裝成功后,接下來我們開始創建一個新項目?TestProject

$ django-admin startproject TestProject

$ cd TestProject

$.|____manage.py|____TestProject

| |______init__.py| |____settings.py| |____urls.py| |____wsgi.py

目錄說明:TestProject: 項目的容器。manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。TestProject/init.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。TestProject/settings.py: 該 Django 項目的設置/配置。TestProject/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。TestProject/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。

啟動開發服務器

創建完項目后,其實就已經構成了一個可運行的 Django 網站。

Django 自帶了一個簡單的網絡服務器,在開發過程中非常方便,所以我們無需安裝任何其他軟件即可在本地運行項目。

$ python manage.py runserver 127.0.0.1:8080Watchingforfile changes with StatReloader

Performing system checks...

System check identified no issues (0 silenced).

You have17 unapplied migration(s). Your project may not work properly until you apply the migrations forapp(s): admin, auth, contenttypes, sessions.

Run'python manage.py migrate'to apply them.

September27, 2019 - 10:54:32Django version2.2.5, using settings 'testweb.settings'Starting development server at http://127.0.0.1:8080/Quit the server with CONTROL-C.

如上所示服務啟動完成。django 開發服務是可用在開發期間的,一個內建的,輕量的web服務。它提供了一個在網站開發階段實時監測你的代碼修改并加載到它們,你能直接看到修改結果而不需要重啟服務。

127.0.0.1:表示可連接到服務器的IP地址 8080:端口號(如果不指定,端口號默認為 8000)

然后在瀏覽器輸入服務器的IP及端口號(這里我們輸入本機 IP 地址:127.0.0.1:8080) ,如果正常啟動,輸出結果如下:

注意:開發服務器在需要的情況下會對每一次的訪問請求重新載入一遍 Python 代碼。所以你不需要為了讓修改的代碼生效而頻繁的重新啟動服務器。然而,一些動作,比如添加新文件,將不會觸發自動重新加載,這時你得自己手動重啟服務器。

配置開發服務器

jango 是一個支持國際化和本地化的框架,因此剛才我們看到的默認首頁也是支持國際化的,我們將默認語言修改為中文,時區設置為東八區,配置如下:

$ vi TestProject/settings.py#省略上下文#設置語言代碼

LANGUAGE_CODE = 'zh-hans'

#設置時區

TIME_ZONE = 'Asia/Chongqing'

然后刷新剛才的頁面,頁面會變為中文顯示,如下圖所示:

創建一個應用

創建完項目,就可以在項目創建應用了,每一個應用都是一個 Python 包,并且遵循著相同的約定。Django 自帶一個工具,可以幫你生成應用的基礎目錄結構,這樣你就能專心寫代碼,而不是創建目錄了。

項目 VS 應用?項目和應用有啥區別?

應用是一個專門做某件事的網絡應用程序——比如博客系統,或者公共記錄的數據庫,或者簡單的投票程序。

項目則是一個網站使用的配置和應用的集合。

項目可以包含很多個應用,應用可以被很多個項目使用。

你的應用可以存放在任何?Python?path?中定義的路徑。在這個教程中,我們將在你的?manage.py?同級目錄下創建投票應用。這樣它就可以作為頂級模塊導入,而不是?mysite?的子模塊。請確定你現在處于?manage.py?所在的目錄下,然后運行這行命令來創建一個應用:

$ python manage.py startapp polls

$ tree#列出當前目錄結構

.|____db.sqlite3|____manage.py|____polls

| |______init__.py| |____admin.py| |____apps.py| |____migrations

| | |______init__.py| |____models.py| |____tests.py| |____views.py|____TestProject

| |______init__.py| |______pycache__

| | |______init__.cpython-37.pyc| | |____settings.cpython-37.pyc| | |____urls.cpython-37.pyc| | |____wsgi.cpython-37.pyc| |____settings.py| |____urls.py| |____wsgi.py

然后我們就可以編輯polls應用中的views.py視圖,操作如下:

$ vim polls/views.pyfrom django.http importHttpResponsedefindex(request):return HttpResponse("你好,這是一個投票頁面。")

保存后退出,這樣一個簡單的視圖就做好了,接下來需要給它加一個指向這個視圖的路由。首先我們需要在polls應用下新建?urls.py?的文件,操作如下:

$ vim polls/urls.pyfrom django.urls importpathfrom . importviews

urlpatterns=[

path('', views.index, name='index'),

]

保存后退出,然后還需要修改TestProject?目錄下的?urls.py,增加?polls?的路由映射配置,如下:

$ vim TestProject/urls.pyfrom django.contrib importadminfrom django.urls importpath, include

urlpatterns=[

path('polls/', include('polls.urls')),

path('admin/', admin.site.urls),

]

函數?include()?允許引用其它?URLconfs。每當 Django 遇到?include()?時,它會截斷與此項匹配的 URL 的部分,并將剩余的字符串發送到?URLconf?以供進一步處理。Django設計?include()?的理念是使其可以即插即用,當包括其它 URL 模式時你應該總是使用?include(),?admin.site.urls?是唯一例外。

保存后退出,然后我們再訪問網址 http://localhost:8080/polls/, 就能訪問到我們新創建的頁面了,如下圖:

本文通過上面幾步操作,就可以快速創建一個可訪問的網站,是不是覺得用 Django 開發網站原來這么簡單方便。Django還有模板,表單,路由,認證,基本的數據庫管理等等內建功能,接下來將進一步的介紹 Django 的高級功能。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的pythondjango网页开发_Python-Web开发 Django 简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。