有時候會碰到這樣的場景,對於一些業務公升級,我需要把資料庫資料做些處理,同時又想以django
專案的環境變數執行指令碼,這個時候使用python
指令碼是再適合不過的手段了。
python manage.py shell < script
或者
./manage.py shell < script
2.1 舉例
2.2 指令碼**如下:
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import unicode_literals
from django.contrib.auth.models import user
def show_user():
user = user.objects.get(username='admin')
print 'i am '.format(user.username)
show_user()
2.3執行命令
python manage.py shell < script1.py
2.4 執行結果如下:
2.4.1 安裝了 ipython(這裡版本為 4.2.0)
2.4.2 沒有安裝 ipython
手段2:在專案目錄下面建立乙個scripts
包,然後建立你的指令碼
執行指令碼命令如下:
python manage.py runscript script_name
或者 ./manage.py runscript script_name
3.1.1 針對手段1
3.1.2 指令碼如下:
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import unicode_literals
from django.contrib.auth.models import user
def run():
user = user.objects.get(username='admin')
print 'project_dir/cat/scripts/:i am '.format(user.username)
3.1.3 執行命令python manage.py runscript showadmin
3.1.4 執行結果如下
3.2.1 針對手段 2
3.2.2 指令碼如下:
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import unicode_literals
from django.contrib.auth.models import user
def run():
user = user.objects.get(username='admin')
print 'project_dir/scripts/:i am '.format(user.username)
3.2.3 執行命令./manage.py runscript showadmin
3.2.4 執行結果
此時有兩個showadmin.py
檔案
執行結果如下:
這個自行參照文件
示例如下:
from django.db import migrations
class migration(migrations.migration):
initial = true
dependencies = [
('thirdservice', '0007_auto_20160909_1021'),
]operations = [
migrations.runpython(run),
]
在run
方法中封裝業務邏輯,這樣更為方便一些 執行django專案
密碼 資料庫名稱按我給你指定的設定 版本別太高,mysql5.5即可。檢視編碼 show variables like character 最終要把所有的都變成utf 8 修改 etc my.cnf配置檔案 mysqld character set server utf8 init connect ...
Apache執行Django專案
雖然,在django專案中,內建了web伺服器。利用manage.py runserver即可執行。但是,當專案規模一旦加大,內建的伺服器顯然是不能夠滿足實際需要的。需要利用apache伺服器。然後,再在專案中新建django.wsgi檔案,寫入 有些引數自己根據實際情況修改 import os,s...
Java專案下exe檔案的路徑問題及執行
如圖 exe檔案路徑獲取 首先獲取當前專案的根目錄,然後得到mibbrowser.exe檔案的路徑 如下 file directory new file 引數為空 string coursefile directory.getcanonicalpath private static final st...