django sqlite3進行web開發(一)

2022-08-01 08:09:08 字數 3304 閱讀 6419

sudo apt-get install python-django -y
也可以直接使用sqlite

sudo apt-get install mysql-server-5.6

sudo apt-get install mysql-client-5.6

sudo apt-get install python-mysqldb

在我們的專案根目錄下執行:

django-admin startproject helloworld
helloworld即是我們的專案名稱。截圖後的目錄結構:

xl@xl-z270-hd3:~/file/code/helloworld$ tree

.└── helloworld

├── helloworld

│ ├── __init__.py

│ ├── settings.py

│ ├── urls.py

│ └── wsgi.py

└── manage.py

2 directories, 5 files

各個檔案的作用:

然後,執行伺服器:

python manage.py runserver
當伺服器執行成功後,就可以訪問檢視'welcome to diango'介面。

.├── admin.py

├── __init__.py

├── migrations

│ └── __init__.py

├── models.py

├── tests.py

└── views.py

1 directory, 7 files

其中:migrations 資料夾目前是乙個空的資料夾,其中會記錄應用的資料模型遷移的情況。

然後我們需要使用manage.py檔案的migrate 和 makemigrations 命令,建立一些預設的資料庫表:

python manage.py migrate

我們可以為專案建立乙個超級管理員,通過這個賬戶,可以快速使用 django 強大的後台功能,對資料模型進行管理:

python manage.py createsuperuser
根據提示輸入使用者名稱、郵箱和密碼,乙個超級使用者就建立好了。我們可以執行專案,訪問/admin路徑看看:

python manage.py runserver
可以使用剛剛建立的管理員賬戶登入。

return httpresponse("hello world!")在這裡,我們定義了乙個hello檢視。

注意, 乙個檢視就是python的乙個函式。這個函式第乙個引數的型別是httprequest;它返回乙個httpresponse例項。為了使乙個python的函式成為乙個django可識別的檢視,它必須滿足這兩個條件。

為了告訴伺服器我們配置的檢視,需要進行url配置。在helloworld目錄下的urls.py中新增:

urlpatterns = [

...url(r'^hello/$', hello),

]這時,我們再重新啟動伺服器,訪問/hello/,就可以看到不一樣的結果了。

上面的例子每次返回的都是一樣的內容,它可以算是乙個靜態網頁。但其實使用python每次返回不同的內容,就可以算是動態網頁了。

我們把views.py中的新增乙個檢視:

import time

def current_time(request):

return httpresponse("current time is: "+time.strftime('%y-%m-%d %h:%m:%s'))

同樣在urls.py中配置url:

urlpatterns = [

......

url(r'^current_time/$', current_time),

]這時,我們再重新啟動伺服器,訪問/current_time/,就可以看到每次都不一樣的網頁了。

與資料庫相關的**一般寫在models.py中,django 支援 sqlite3, mysql, postgresql等資料庫,只需要在settings.py中配置即可,不用更改models.py中的**。

from django.db import models  

class test(models.model):

a = models.charfield(max_length=30)

b = models.integerfield()

然後,同步一下資料庫。(預設使用sqlite3資料庫,無需做任何配置)

先進入到manager.py所在的資料夾下,輸入以下命令:

# django 1.6.x 及以下

python manage.py syncdb

# django 1.7 及以上的版本需要用以下命令

python manage.py makemigrations

python manage.py migrate

作為測試,我們可以調起django的shell:

xl@xl-z270-hd3:~/file/code/helloworld/helloworld$ python manage.py shell

python 2.7.15rc1 (default, nov 12 2018, 14:31:15)

[gcc 7.3.0] on linux2

(interactiveconsole)

>>> test.objects.create(a="zhangsan", b=24)

>>> test.objects.get(a="zhangsan")

>>>

注意這裡使用.objects.get()方法查詢出來的物件都是顯示乙個結構體。

具體操作可以參考

使用IndexSearcher進行搜尋(3)

lucene搜尋相關的api多數都被包含在org.apache.lucene.search包中。indexsearcher提三個公有建構函式,可以初始化indexsearcher public indexsearcher string path throws ioexception public i...

PHP進行3des加密

封裝加密解密類 use think controller header content type text html charset utf 8 class encrypt extends controller 檢查加密key,iv的長度是否符合演算法要求 key this fixlen key,m...

python3進行excel操作

只要有需求,就會找出解決問題的方法 pip install xlrd 讀取 pip install xlwt 寫入 首先先初始化 import xlwt excel xlwt.workbook encoding utf 8 建立excel sheet excel.add sheet member 建...