1. python怎麼使用django框架
Django為我們提供了眾多的開發指令,大部分繁瑣的操作都被Django集成在簡潔的命令行提示符中實現。現在打開命令提示符,進入到想要創建
應用的目錄後鍵入django-admin.py startproject
news命令,調用Django的控制台命令新建一個名為news的工程,與此同時Django還在新創建的news文件夾下生成以下四個分工不同的文
件。
1. __init__.py
文件__init__.py可以向Python編譯器表明當前文件夾下的內容是Python工程模塊。
2.manage.py
manage.py是Python腳本文件,與Django的命令行工具django-admin.py配合,可以對建立的工程進行管理配置。
3.settings.py
這是Django工程的配置文件,與工程相關的工程模塊和資料庫全局配置信息都在settings.py中設置。
4.urls.py
文件urls.py負責配置URL的地址映射以及管理URL的地址格式。
當新的工程建立好之後,假如迫不及待就想知道新建工程的模樣,Django已經為你准備好一款輕量級的Web伺服器以便在開發過程中隨時測試使用。
開發者只需在命令提示符下進入工程目錄,鍵入命令manage.py
runserver,就可以啟動Web伺服器來測試新建立的工程,如果啟動沒有錯誤,將可以看到下面這樣的提示信息:「Development
server is running at http://127.0.0.1:8000/」
表示當前工程已經可以通過本機的8000埠訪問。通過瀏覽器打開上述地址Django項目初始頁面將會出現在你面前。
2. 如何用python做web開發 django環境配置
下載
python-2.7.2.msi
Django-1.3.1.tar.gz
Django暫時只支持python
2.4
~
2.7,
在Django-1.3.1\docs\intro\install.txt中有說明:
Being
a
Python
Web
framework,
Django
requires
Python.
It
works
with
any
Python
version
from
2.4
to
2.7
(e
to
backwards
incompatibilities
in
Python
3.0,
Django
does
not
currently
work
with
Python
3.0;
安裝python-2.7.2,並添加環境變數
D:\Python27;D:\Python27\Scripts;
命令行進入Django-1.3.1目錄,
安裝django
python
setup.py
install
Django提供了tutorial
Django-1.3.1\docs\intro
新建站點
E:\python>django-admin.py
startproject
mysite
啟動django自帶的web伺服器
E:\python>cd
mysite
E:\python\mysite>manage.py
runserver
Validating
models...
0
errors
found
Django
version
1.3.1,
using
settings
'mysite.settings'
Development
server
is
running
at
http://127.0.0.1:8000/
Quit
the
server
with
CTRL-BREAK.
在瀏覽器中輸入
http://127.0.0.1:8000/
瀏覽頁面
ps:
在windows7中按上述步驟配置好後,出現下列情況
D:\work\python>django-admin.py
startproject
mysite
Usage:
django-admin.py
subcommand
[options]
[args]
...
很顯然django-admin.py不參識別startproject命令,其它命令也不能識別。不過,另一種方式卻可以
D:\Python27\Scripts>python
django-admin.py
startproject
mysite
這說明django-admin.py
後面的參數不能傳遞進去,可以通過修改注冊表實現。
輸入regedit,
進入
HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
,
"C:\Python26\python.exe"
"%1"
change
it
to
"C:\Python26\python.exe"
"%1"
%*
成功解決了
3. Python中Django如何使用
django1.9.5&python3.4.4
文件結構
在一個爬蟲腳本中將爬取的數據通過django自帶的model保存到資料庫
修改的文件(其餘pycharm新建Django項目生成,未修改):
# testapp/models.pyfrom django.db import modelsclass Problem(models.Model): title = models.CharField(max_length=100, default="") author = models.CharField(max_length=100, default="") def __str__(self): return self.title pass# testapp/spider.pyimport osimport sysimport djangopathname = os.path.dirname(os.path.abspath(__file__))sys.path.insert(0, pathname)sys.path.insert(0, os.path.abspath(os.path.join(pathname, '..')))os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testproject.settings")django.setup()from testapp.models import Problemif __name__ == "__main__": p = Problem(title="hi", author="hi") p.save() pass# testproject/setting.py......INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 添加應用 'testapp',]......# testapp/admin.py 在後台管理界面注冊 Problemfrom django.contrib import admin# Register your models here.from testapp.models import Problemadmin.site.register(Problem)
運行spider.py,添加一條實例記錄
運行Django項目, 創建管理員賬號, 後台管理界面查看結果
4. Python使用裝飾器進行django開發實例代碼的方法
本文研究的主要是Python使用裝飾器進行django開發的相關內容,具體如下。
裝飾器可以給一個函數,方法或類進行加工,添加額外的功能。
在這篇中使用裝飾器給頁面添加session而不讓直接訪問index,納昌改和show。在洞判views.py中
?
1
234
5
def
index(request):
return
HttpResponse(index)
def
show(request):
return
HttpResponse(show)
這迅譽樣可以直接訪問index和show,如果只允許登陸過的用戶訪問index和show,那麼就需修改代碼
?
12345678910
def
index(request):
if
request.session.get(username):
return
HttpResponse(index)
else5. Python中,django框架模式有什麼
Django發布於2005年,是當前Python世界裡最負盛名且成熟的網路框架,最初用來製作在線新聞的Web站點。
Django是一個用Python編寫的開放源代碼的Web應用框架,採用了MVC的框架模式,也有很多人把它稱為MVT模式。
優點:
功能完善且要素齊全:自帶大量常用的工具和框架,適合快速開發企業級網站;
完善的文檔:經過十多年的發展和完善,Django有廣泛的實踐案例和完善的在線文檔,開發者遇到問題可以搜索在線文檔尋求解決方案;
強大的資料庫訪問組件:Django的Model層自帶資料庫ORM組件,使得開發者無需學習SQL語言即可對資料庫進行操作;
先進的APP設計理念:APP是可插拔的,是不可多得的思想,不需要了可以直接刪除,對系統整體影響不大;
自帶台管理系統admin:只需要通過簡單幾行配置和代碼就可以實現一個完整的後台數據管理控制平台。
缺點:
大包大攬:對比flask框架來講,Django不夠輕便,包括的功能太多了;
過度封裝:很多類和方法都封裝了,直接使用比較簡單,改動比較困難;
性能劣勢:Django性能偏低;
模板問題:Django的模板實現了代碼和樣式完全分離,不允許模板里出現Python代碼,靈活度對某些程序員來說可能不夠。