【Django】

SaltedFish00發表於2024-04-13

https://www.djangoproject.com/
MTV

Anaconda:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
建立和管理虛擬環境,這些環境可以包含不同版本的Python和安裝的包,這在資料科學工具的使用中非常有用;Pip沒有內建支援環境隔離,需要依賴其他工具,如virtualenv或venv來建立隔離的環境。
Pycharm:
https://www.quanxiaoha.com/pycharm-pojie/pycharm-pojie-202333.html
pip啟用慢:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set install.trusted-host mirrors.aliyun.com
多個python版本的pip配置:C:\Python39\Scripts\pip3.exe
django-admin:django自帶管理後臺
window&linux cmd: dir = ls;rd /s = rm -rf
notepad++: https://en.softonic.com/download/notepad-plus/windows/
啟動django-admin:
C:\Python39\Scripts\django-admin.exe install recruitment
C:\Python39\Scripts\django-admin.exe startproject recruitment
python3 ./manage.py migrate
python3 ./manage.py runserver 0.0.0.0:8000
db.sqlite3 自動建立,預設資料庫
makemigrations建立資料庫遷移,產生SQL指令碼
migrate預設model同步到資料庫,django自動為這些model建立相應的表
python3 ./manage.py createsuperuser 建立管理員

recruitment/
asgi.py 非同步閘道器介面
wsgi.py gateway interface
settings.py 整個專案配置檔案
ALLOWED_HOSTS [外網IP] 一般用Nginx/Tengine做閘道器開放Django應用
MIDDLEWARE 安全、防跨站攻擊、認證授權等
TEMPLARES 模板引擎,上下文處理器
DEBUG=TRUE不用重啟應用,改動就能生效
建立新的job模組
python3 ./manage.py startapp jobs
settings.py INSTALLED_APPS中加jobs
jobs/admin.py 中註冊job
makemigration生成sql
migrate建立表
model定義:https://blog.csdn.net/qq_43030934/article/details/130292746
git
https://blog.csdn.net/qq_24990383/article/details/127608245
自定義模板
view層:定義每個url使用哪個模板
模板可以相互繼承
流程
主模組recruiment/urls.py中re_path(r"^", include("jobs.urls"))
jobs/urls.py中re_path(r"^job/(?P<job_id>\d+)/$", views.detail, name="detail")
jobs/views.py中detail函式處理資料並傳給前端return render(request, 'job.html', {'job': job})
jobs/job.html中展示資料
MVP產品迭代 先開發核心功能,後迭代
資料庫設計原則
建立時間,修改時間,可以邏輯刪除。
少用join,儘量一個資料不存在不同的表中。
python3 ./manage.py startapp interview

django中的指令碼執行
interview/management/commands/import_candidates.py
python3 manage.py import_candidates --path D:\Projects\recruitment\candidates.csv

docker
https://docs.docker.com/desktop/install/windows-install/
windowsw安裝docker https://zhuanlan.zhihu.com/p/667495068

企業域賬號
OpenLDAP/(ActiveDirectory)
php ldap admin 管理後臺
pip3 install django-python3-ldap
docker pull osixia/openldap
docker pull osixia/phpldapadmin
識別員工全域性路徑(distinguished name):
ou-organization unit組織單元
cn-common name
dc-domain component

docker run -p 389:389 -p 636:636 --name my-openldap-container --env LDAP_ORGANISATION="ihopeit" --env LDAP_DOMAIN="ihopeit.com" --env LDAP_ADMIN_PASSWORD="admin_passwd_4_ldap" --detach osixia/openldap
docker run -d --privileged -p 80:80 -p 443:443 --name phpldapadmin-service --hostname phpldapadmin-service --link my-openldap-container:ldap-host --env PHPLDAPADMIN_HTTPS=false --env PHPLDAPADMIN_LDAP_HOSTS=ldap-host --detach osixia/phpldapadmin
9bf336738e6cc859a805d977eb5138351d565d854267f79fafcfbabc0bb3b3b3
python3 ./manage.py ldap_sync_users 匯入所有使用者

u'中文字元' 表示unicode編碼,py3預設unicode
github打不開 https://cloud.tencent.com.cn/developer/article/2310963
找到ip,加入C:\Windows\System32\drivers\etc\hosts

釘釘訊息整合
郵件、簡訊沒有限制,可以給任何人發,網路上對API呼叫有很多限制;阿里雲禁用25埠
釘釘群訊息可以用web hook直接傳送,便利低成本

pycharm sqlite打不開:https://blog.csdn.net/forward_huan/article/details/129976953

相關文章