A. django是做什麼的
Django是基於Python的免費和開放源代碼Web框架,它遵循模型-模板-視圖(MTV)體系結構模式。它由Django Software Foundation(DSF)維護,這是一個由非營利組織成立的獨立組織。
Django的主要目標是簡化復雜的,資料庫驅動的網站的創建。該框架強調組件的可重用性和「可插入性」,更少的代碼,低耦合,快速開發以及不重復自己的原則。整個過程都使用Python,甚至用於設置文件和數據模型。Django還提供了一個可選的管理創建,讀取,更新和刪除界面,該界面通過自省動態生成並通過管理模型進行配置。
一些使用Django的知名網站包括公共廣播服務,Instagram, Mozilla,華盛頓時報, Disqus,Bitbucket,和Nextdoor。
Django創建於2003年秋天,當時《勞倫斯日報》世界報紙的網路程序員Adrian Holovaty和Simon Willison開始使用Python來構建應用程序。西蒙·威利森(Simon Willison)的實習期結束前不久,雅各布·卡普蘭·莫斯(Jacob Kaplan-Moss)在Django的發展中就被聘用了。它於2005年7月在BSD許可下公開發布。該框架以吉他手Django Reinhardt的名字命名。2008年6月,宣布新成立的Django軟體基金會(DSF)將來將維護Django。
2015年7月,與一些Django聯合創始人和開發人員建立聯系的軟體咨詢公司Revolution Systems在勞倫斯舉辦了10周年紀念活動。
Django的設計理念如下:
松耦合——Django的目標是使堆棧中的每個元素彼此獨立。
更少的編碼——更少的代碼,因此可以快速開發。
不重復自己(DRY)——一切都應該只在一個地方開發,而不是一次又一次地重復。
快速開發——Django的理念是盡一切可能促進超快速開發。
簡潔的設計——Django嚴格按照自己的代碼維護簡潔的設計,並易於遵循最佳的Web開發實踐。
Django的一些優勢如下:
對象關系映射(ORM)支持——Django在數據模型和資料庫引擎之間建立了橋梁,並支持包括Mysql,Oracle,Postgres等在內的大量資料庫系統。
多語言支持——Django通過其內置的國際化系統支持多語言網站。因此,您可以開發支持多種語言的網站。
框架支持——Django內置了對Ajax,RSS,緩存和其他各種框架的支持。
GUI——Django為管理活動提供了一個很好的即用型用戶界面。
開發環境——Django帶有輕量級的Web伺服器,以促進端到端應用程序的開發和測試。
Django是Python Web框架。和大多數現代框架一樣,Django支持MVC模式。
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
B. django怎麼使用本機mysql資料庫
step 1:
修改你的django project目錄下的settings.py 文件至如下所示:
其中,'NAME' 對應的 『db_name' 是你事先使用mysql
的命令行提示符創建的資料庫名稱。注意:在django使用資料庫之前,你必須先創建出資料庫,否則會報錯。'USER'對應的'username'
還有 'PASSWORD' 對應的『passwd'
就是你在mysql中創建的用戶名和密碼。如果你有多個的話,隨便填一個就好。'HOST'和'PORT'默認都可以不填。
題外話: 使用用戶名和密碼登錄mysql的方法:
首先,你需要進入 mysql/bin的目錄下,也可以在.bash_profile中設置環境變數:
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/
再在prompt輸入 mysql -u username -p, 回車後再輸入 passwd即可
step 2:
然後,在manage.py路徑中使用python manage.py syncdb 試試,結果會提示你錯誤找不到 MySQLdb 這個mole, 為什麼呢, 因為 python manage.py syncdb 命令是這樣工作的:
1. 在project目錄的settings.py的INSTALLED_APPS元組中找到可能需要更新的APP。
2. 找到每一個APP目錄中的models.py (關系定義文件),並針對變化在資料庫中進行更新。
說了這么多,前面那個錯誤 找不到 mole MySQLdb 是什麼意思啊 ?
先給個圖,再解釋:
因為在models.py中定義關系使用的是python,而真正在資料庫中操作形成model當然一定要用sql語句,所以必須要有一些功能模塊
來把python語句轉化成sql語句。如果你使用sqlite的話,由於sqlite和轉化模塊都已經由python內置了,所以直接使用不會發生錯
誤。但是 」mysql語句的轉化模塊「 就需要你手動載入了,這些模塊放在 MySQL-python 中。
我是使用pip 安裝的:
安裝了之後,再使用 python manage.py syncdb就OK啦。
我使用的系統是 OS X,下面是 mysql 默認的安裝路徑
/usr/local/Cellar/mysql/5.6.22/
如果你想知道你的資料庫文件是放在哪裡的,你可以查看mysql_config文件中的ldata變數,這個變數的值就是 默認的資料庫文件夾存儲的路徑。 我的系統中,mysql_config的完整路徑是 :
/usr/local/Cellar/mysql/5.6.22/bin/mysql_config
C. Django如何更新資料庫(django批量更新資料庫)
最簡悶薯飢單的辦法是。為資料庫的表建立一個model。具體做法是這樣子。
1.在settings.py里設置資料庫連接方式。連接錯誤後面都沒螞返有辦法
2.在models設置一個資料庫表的對應數據結構,通常叫關系對象模型,所以叫model,它就是一個類。你可以用django-admin.py...probe,似乎是這個命令,就是一個資料庫的探測命令,可以根據表,自動生成model的代碼。當然如果你先寫了model的代碼就可以用syncdb命令生成資料庫的表
3.在urls.py里設置一個URL的path,當瀏覽器訪問這個path時就可以手或打開對應的view中的函數
4.在view里
4.1result=modelclass.objects.all()這個命令可以取出所有的記錄
4.2然後你可以直接將結果傳遞給模板。由模板顯示。這是最合理的辦法
4.3在模板里{%forcolsinresult%}
4.4
大約就是這樣子。可能說的太粗。你對著教程看就知道了。
D. django支持哪些資料庫
常見的關系資料庫postgresql、mysql、oracle、sqlite這些都支持,官方優先推薦PostgreSQL關系資料庫。
除上面之外還支持以下數據源:
SAP SQL Anywhere
IBM DB2
Microsoft SQL Server
Firebird
ODBC
E. 如何獨立使用django的資料庫訪問功能
1. 安裝Django
[plain] view plain
cd Django-1.4
python setup.py install
2. 安裝postgresql的客戶端:
[plain] view plain
sudo apt-get install -y postgresql-client-9.1 python-psycopg2
3. 新建project:
[plain] view plain
django-admin.py startproject myproject
4. 在myproject下新建app:
[plain] view plain
python manage.py startapp myapp
4. 新增環境變數:
編輯/etc/profile文件,在末尾加入以下語句:
[plain] view plain
<span style="color:#FF0000;"> export PYTHONPATH=$PYTHONPATH:/home/yc/src/myproject
export DJANGO_SETTINGS_MODULE=myproject.settings</span>
5.
假設資料庫已經由Django的另一個應用(名稱為otherapp)建好,資料庫類型是postgresql,名稱為mydb,位於
192.168.1.23。見好的資料庫中有一個表,名稱是otherapp_user,則將otherapp/models.py拷貝到myapp
/models.py。
注意檢查models.py下的class user類的class Meta:部分,如果沒有applabel標簽,則要加上:app_label='otherapp'
再修改/home/yc/src/myproject下的settings.py文件,如下:
[plain] view plain
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'mydb', # 'vps2db_test1' Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': '123', # Not used with sqlite3.
'HOST': '192.168.1.23', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '5432', # Set to empty string for default. Not used with sqlite3.
}
}
[plain] view plain
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'<span style="color:#FF0000;">myapp</span>',
)
6. 在myapp目錄下編寫測試程序
[python] view plain
from models import user
if __name__=="__main__":
try:
u = user.objects.get(id=user_id)
except user.DoesNotExist:
print "user not exist)
return None
else:
return u
F. 關於DJANGO連接資料庫和創建模型問題
創建資料庫
選擇開始菜單中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打開【SQL Server Management Studio】窗口,並使用Windows或 SQL Server身份驗證建立連接。
在【對象資源管理器】窗口中展開伺服器,然後選擇【資料庫】節點
右鍵單擊【資料庫】節點,從彈出來的快捷菜單中選擇【新建資料庫】命令。
G. django開發用什麼資料庫好
修改setting.py裡面的DATABASES元組為
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', #你的資料庫名稱
'USER': 'root', #你的資料庫用戶名
'PASSWORD': '', #你的資料庫密碼
'HOST': '', #你的資料庫主機,留空默認為localhost
'PORT': '3306', #你的資料庫埠
}
}
INSTALLED_APPS = (
'books',#你的資料庫名稱
)
在mysql裡面創建books資料庫
檢查配置是否有語法錯誤
使用python manage.py sqlall books 顯示mysql語法
使用python manage.py syncdb同步模型中的資料庫
創建成功!
H. django python 資料庫同步的方案,請幫我想一想
你都段含打算用django來同步了,哪來得的可否用它來同步的問題呢。
有一個功能叫probe,似乎叫這個名子,你可以用它,根據A庫,自動建立模型。 順便說一下foriegnkey在django的模型庫里也是支持的。 如果不支持,可能你的foreign key太復雜了。
如果可以自動建立模型,那麼其餘的都不是問題了。 不過不建議你這么繞一個大彎路野燃伍,還要用django去寫同步腳本。 它僅僅做管理就可頌或以了。
如果一定要用它做同步,就可以在view里寫一個函數。把你的同步邏輯放進去。 然後用crontab設置一個定時任務,去訪問這個URL就好了。
似乎它沒有tomcat里的那種定時任務功能。 如果你真的要想有,也有開源的插件下載,不過,這就把事情 弄得太復雜 了。
django就作為一個輕量級的WEB管理軟體就可以了。 如果想做復雜的資料庫功能,還是用php和java。