django中如何使用cookiecutter
创始人
2024-11-21 11:41:11
0次

一、安装

导入:pipenv install cookiecutter

问题:在导入的过程中可能会报错:

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"'))。

原因及解决:这个问题的出现主要是pipenv版本不支持,需要更新pipenv,使用命令:pip3 install -U pipenv,然后重新导入即可。

二、创建项目

运行cookiecutter

问题:直接报错zsh: command not found: cookiecutter

解决办法:使用pipenv --py获取python环境的安装目录,在该目录下运行cookiecutter

运行之后会继续报错:缺少Template

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

在github中找到pydanny/cookiecutter-django,赋值github地址,把地址写在python运行环境的后边,再次运行

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

成功进入配置选项,进行具体的配置

三、具体配置

  • project_name:项目名字
  • project_slug:默认和项目的名字保持一直,不必填写
  • description:项目的简单描述
  • author_name:作者的名称,格式 名字
  • domain_name:网站域名
  • eamil:邮箱
  • version [0.1.0] Select open_source_license: 选择是否开源类型
  • timezone:时区设置,Asia/Shanghai
  • windows:是否使用的是windows系统开发
  • use_pycharm:是否使用pycharm
  • use_docker:是否使用docker
  • Select postgresql_version:选择postgresql的版本,默认为最新版,并且默认没有继承Mysql~~~~
  • Select js_task_runner:js的运行器,使用默认的
  • Select cloud_provider:默认
  • Select mail_service:选择email的服务
  • use_async:是否使用异步编程
  • use_drf:是否使用django rest_framework,前后端分离的话选择y
  • custom_bootstrap_compilation:是否自定义bootstrap压缩
  • use_compressor:用于压缩js、css的技术,需要选择y
  • use_celery:是否使用celery,使用选择y
  • use_mailhog:第三方的邮件发送服务
  • use_sentry:是否使用错误日志监控
  • use_whitenoise:用于部署静态文件的,带有文件压缩功能
  • use_heroku:国外有名的pass平台,如果要部署到上边的话选择y会自动生成对应的配置
  • Select ci_tool:选择工具(None/Travis/Gitlab/Github)
  • keep_local_envs_in_vcs:是否在本地环境变量中使用版本配置,选择y
  • debug:是否使用debug,选择y

四、问题:

项目在进行数据迁移的时候可能会报错:

 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有一个https://github.com/celery/django-celery-beat/blob/master/requirements/default.txt依赖要求,强制django-timezone-field只能使用>=4.0和<5.0版本的,开发者推送了一个4.1.1版本的django-timezone-field,中断了数据迁移过程。

解决办法:pipenv install django-timezone-field==4.0,重新执行数据迁移就可以了

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...