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 建...