基础架构四-APP2:使用python django来完成devops的例子

前言

上一篇综合运用了gitlab/docker/python flask/nginx/uwsgi/mysql等工具和我们搭建的DEVOPS环境,完成了学生管理系统的CICD实例,本篇将flask改为django来完成相同的功能,继续熟悉使用我们搭建的CICD环境和django开发的基本方法

文中提到的程序和脚本见:https://github.com/Thomas-YangHT/python/tree/master/django

step1. 在gitlab页面中新建一个项目project

  •            [group]--yunwei下新建[project]--django

  •            git clone 到本地

step2. 准备django的应用环境 

  •           docker运行环境:dockerfile.django

  •           uwsgi的配置:wsgi.ini

  •           创建镜相image:docker-build.sh 

  •           运行一个实例container:   docker-run.sh

  •           查询结果:docker logs django

step3. 编写django程序:

 

  •            启动一个新项目:djangoadmin 

  •            目录结构:

  •            配置wsgi.ini

  •            修改settings.py

  •            模板设置:templates

  •            静态文件设置:static

  •            路由urls.py

  •            view.py

  •            编写students.py

 step4. 提交、修改、测试循环,直至成功

  •           修改.gitlab-ci.yml

  •            git提交到gitlab代码仓库

  •           在页面上查看cicd--pipelines构建结果

  •           刷新students查询页面查看结果

  •           遇到问题再修改、提交、验证

Que:遇到的问题:

    • django版本:

      • yum install -y  https://repos.fedorapeople.org/repos/openstack/openstack-ocata/rdo-release-ocata-3.noarch.rpm

      • yum install -y python-django

      • 不同的版本上运行会导致启动失败,由于settings内容不同;

      • 2.0以上url语法变化

      • 1.18版本来源于openstack-ocata源;

    • 其它应用版本:

      • 1.8.14

      • 2.0.17.1

      • Python 2.7.5

      • nginx version: nginx/1.12.2

      • nginx -V

      • python -V

      • uwsgi --version

      • django-admin --version

    • uwsgi.ini的配置问题:

      • 不同版本语法不一致

      • 网上找的基本都没法用

    • 模板

      • 改为jiaja2模板,兼容flask做的模板 settings.py

      • 详见https://blog.csdn.net/likunshan/article/details/81119723

    • CSRF问题

      • POST请求403:https://blog.csdn.net/xavierqwb/article/details/65449189

      • 或者在settings.py里注释掉:settings —> 找到MIDDLEWARE —> 注释掉

REFER:参考资料: 

  • 基础 https://www.cnblogs.com/lgeng/p/7363852.html

  • 基础 https://thomas-yanght.github.io/www.runoob.com/django/django-tutorial.html

  • 提高 https://www.cnblogs.com/lgeng/category/1061167.html

  • 提高 https://www.cnblogs.com/eaglesour/category/1182428.html

  • 其它 https://fabric-chs.readthedocs.io/zh_CN/chs/api/contrib/django.html

  • 其它 https://docs.djangoproject.com/en/dev/topics/settings/

  • 官方设置: https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/

  • uwsgi: https://uwsgi-docs.readthedocs.io/en/latest/Management.html

-- The End --

 

 

Linux命令速查

猜你喜欢

转载自blog.csdn.net/weixin_39798643/article/details/82929244