搭建并创建django项目

工作需要自学django以便后续写接口,因而重新搭建了一次python环境,使用了不同的方法

  1. 使用pipenv来构建虚拟python包环境

安装

$ pip install pipenv

创建
pipenv --three 会使用当前系统的Python3创建环境
pipenv --python 3.6 指定某一Python版本创建环境
使用

$ pipenv shell 

之后pip下载包和运行django都在该shell下进行

  1. 兼容问题

django2.0需要与cx_oracle7.0一起使用,django1.0与cx_oracle6.0一起使用,django2.0只兼容oracle12.1以上版本,oracle11g部分功能不兼容,用django1.0可以完全兼容
https://www.jianshu.com/p/e67b15110a94

安装cx_oracle 6.0时发生错误error: Microsoft Visual C++ 14.0 is required,下载该组件即可
https://download.microsoft.com/download/5/f/7/5f7acaeb-8363-451f-9425-68a90f98b238/visualcppbuildtools_full.exe?fixForIE=.exe.

django命令管理相关指令

  1. 查看版本
$ python -m django --version
  1. 创建项目(创建项目后直接使用pycharm打开,或者使用pycharm创建也可)
$ django-admin startproject mysite
  1. 运行项目(即开启一个进程,进程存在时才能通过IP登入)
$ python manage.py runserver
  1. 创建app(应用)
$ python manage.py startapp polls

目录如下


目录
  1. 初始化模型,生成迁移文件
$ python manage.py makemigrations polls

生成文件如下


目录
  1. 返回初始化时具体执行的sql指令(不会执行)
$ python manage.py sqlmigrate polls 0001
  1. 同步数据库(会执行迁移文件)

如果是django2+oracle11g会报错,原因可能是生成的sql指令包含了只有oracle12c才有的自增长列,解决方法在下面

$ python manage.py migrate
  1. 管理命令行(管理数据库)
$ python manage.py shell
  1. 创建用户
$ python manage.py createsuperuser
  1. 根据数据库生成model中表实例
$ python manage.py inspectdb
执行结果

对结果直接进行拷贝即可
这里发生过错误
The error was: ORA-00904: "IDENTITY_COLUMN": invalid identifier

错误

原因还是因为django2.0对oracle11g很多地方不兼容
解决方法:

  1. 降低django版本
  2. 利用其他环境包获取
    项目使用的包是虚拟环境的包,在本地windows环境或其他环境安装django1,然后在该环境下进入项目目录运行python manage.py inspectdb即可正确生成model类

你可能感兴趣的:(搭建并创建django项目)