溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

django中如何使用cookiecutter

發(fā)布時(shí)間:2020-12-04 14:14:42 來源:億速云 閱讀:224 作者:小新 欄目:編程語言

小編給大家分享一下django中如何使用cookiecutter,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、安裝

導(dǎo)入:pipenv install cookiecutter

問題:在導(dǎo)入的過程中可能會(huì)報(bào)錯(cuò):

pkg_resources.VersionConflict: (importlib-metadata 3.1.0 (/Users/apple/.local/share/virtualenvs/testProject-h0hp04R9/lib/python3.6/site-packages), Requirement.parse('importlib-metadata<2,>=0.12; python_version < "3.8"'))。

原因及解決:這個(gè)問題的出現(xiàn)主要是pipenv版本不支持,需要更新pipenv,使用命令:pip3 install -U pipenv,然后重新導(dǎo)入即可。

二、創(chuàng)建項(xiàng)目

運(yùn)行cookiecutter

問題:直接報(bào)錯(cuò)zsh: command not found: cookiecutter

解決辦法:使用pipenv --py獲取python環(huán)境的安裝目錄,在該目錄下運(yùn)行cookiecutter

運(yùn)行之后會(huì)繼續(xù)報(bào)錯(cuò):缺少Template

Usage: cookiecutter [OPTIONS] TEMPLATE [EXTRA_CONTEXT]...
Try 'cookiecutter -h' for help.
Error: Missing argument 'TEMPLATE'.

在github中找到pydanny/cookiecutter-django,賦值github地址,把地址寫在python運(yùn)行環(huán)境的后邊,再次運(yùn)行

/Users/apple/.local/sha~~~~re/virtualenvs/testProject-h0hp04R9/bin/cookiecutter https://github.com/pydanny/cookiecutter-django.git

成功進(jìn)入配置選項(xiàng),進(jìn)行具體的配置

三、具體配置

  • project_name:項(xiàng)目名字
  • project_slug:默認(rèn)和項(xiàng)目的名字保持一直,不必填寫
  • description:項(xiàng)目的簡單描述
  • author_name:作者的名稱,格式 名字
  • domain_name:網(wǎng)站域名
  • eamil:郵箱
  • version [0.1.0] Select open_source_license: 選擇是否開源類型
  • timezone:時(shí)區(qū)設(shè)置,Asia/Shanghai
  • windows:是否使用的是windows系統(tǒng)開發(fā)
  • use_pycharm:是否使用pycharm
  • use_docker:是否使用docker
  • Select postgresql_version:選擇postgresql的版本,默認(rèn)為最新版,并且默認(rèn)沒有繼承Mysql~~~~
  • Select js_task_runner:js的運(yùn)行器,使用默認(rèn)的
  • Select cloud_provider:默認(rèn)
  • Select mail_service:選擇email的服務(wù)
  • use_async:是否使用異步編程
  • use_drf:是否使用django rest_framework,前后端分離的話選擇y
  • custom_bootstrap_compilation:是否自定義bootstrap壓縮
  • use_compressor:用于壓縮js、css的技術(shù),需要選擇y
  • use_celery:是否使用celery,使用選擇y
  • use_mailhog:第三方的郵件發(fā)送服務(wù)
  • use_sentry:是否使用錯(cuò)誤日志監(jiān)控
  • use_whitenoise:用于部署靜態(tài)文件的,帶有文件壓縮功能
  • use_heroku:國外有名的pass平臺(tái),如果要部署到上邊的話選擇y會(huì)自動(dòng)生成對應(yīng)的配置
  • Select ci_tool:選擇工具(None/Travis/Gitlab/Github)
  • keep_local_envs_in_vcs:是否在本地環(huán)境變量中使用版本配置,選擇y
  • debug:是否使用debug,選擇y

四、問題:

項(xiàng)目在進(jìn)行數(shù)據(jù)遷移的時(shí)候可能會(huì)報(bào)錯(cuò):

 File "/Users/apple/.local/share/virtualenvs/django-pro-7n8-wfJY/lib/python3.6/site-packages/django_celery_beat/models.py", line 60, in crontab_schedule_celery_timezone
 choice[0].zone for choice in timezone_field.TimeZoneField.CHOICES
AttributeError: type object 'TimeZoneField' has no attribute 'CHOICES'

原因:django-celery-beat setup.py有一個(gè)https://github.com/celery/django-celery-beat/blob/master/requirements/default.txt依賴要求,強(qiáng)制django-timezone-field只能使用>=4.0和<5.0版本的,開發(fā)者推送了一個(gè)4.1.1版本的django-timezone-field,中斷了數(shù)據(jù)遷移過程。

解決辦法:pipenv install django-timezone-field==4.0,重新執(zhí)行數(shù)據(jù)遷移就可以了

以上是“django中如何使用cookiecutter”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI