windows搭建Django项目,以及数据库迁移

4 篇文章 0 订阅
2 篇文章 0 订阅

首先,windows、Django、mysql和vscode是本文用到的工具

1、安装python环境和mysql数据库

     (a) 安装mysql数据库,需要注意的是把db移到别的盘,在另一篇有讲,详细教程也有贴,自行查看。

     (b) python环境的话,我比较倾向于用anaconda3去装python3.5,喜欢用最新的版本的python。官网可下载。anaconda package  可手动下载需要的包。或者conda或pip

2、推荐vscode代码编辑环境

3、新建Django项目

    (1)新建一个文件夹,cd到该文件下,创建项目:(首先django的库别忘pip下来)

django-admin startproject oa  #新建gjango项目,并用vscode打开。操作如下

           ..

         code . 注意后面有个点。这是将vscode的路径加到path里,所以可以从这里直接打开,点表示将现在路径作为项目工作空间。生成的文件目录如下:

           ..

           settings.py是配置项目的路径、数据库等,默认是sqlite,我采用mysql数据库存储数据。url.py是路由路径。manage.py是一个工具。可以通过manage.py拉起整个项目。到现在为止,你可以在控制台通过如下命令拉起项目:  

python manage.py runserver 0.0.0.0:8000   #在此之前,可以通过python manage.py help查看可用命令
E:\bin\Anaconda3\python.exe manage.py runserver 0.0.0.0:8000  #我这里用的是这样的方式,指定python去调用。因为版本比较多

       在浏览器试试http://127.0.0.1:8000/admin/,访问一下django提供的后台管理,满强大的。

 

 

  (2)发现admin需要用户名和密码。这样的话,就先要去settings.py文件配置mysql数据库,同时需要在settings.py同目录下的__init__.py文件里添加以下两行(别忘下载pymysql包):

         import pymysql

         pymysql.install_as_MySQLdb()

     然后修改settings.py文件下数据库配置,如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db_oa',
        'USER': 'root', 
        'PASSWORD': '*****',
        'HOST': '127.0.0.1', 
        'PORT': '3306', 
    }
}
ALLOWED_HOSTS = ['*'] # *设置url,在浏览器上访问的。可设置主机ip,然后用http://*:8000/admin去访问

    然后用以下命令在控制台创建超级用户,邮箱可不写: 

python manage.py createsuperuser #创建超级用户

    如果报右边的错误,..

   按照如下命令再执行一遍:

python manage.py migrate
python manage.py createsuperuser  #先执行上面的,再执行这个就ok了

      这是因为在创建超级用户之前要做一个数据库迁移。

 


(3)接下来,是创建自己的app了。 用以下命令创建好之后,需要在settings.py里注册app(如下)。

python manage.py startapp app   #app是自己应用的名字

      .....

     接下来,比如你在自己的mysql里已经建好表了,那么就可以采用数据迁移的方式,直接与django里的models绑定:

保证django项目已经运行(runserver)起来(很重要!!!)

python manage.py inspectdb    #这个命令可以查看现有的模型文件(models.py)!!!!!!!!!!!!

E:\codewyan\oa>python manage.py makemigrations  #采用这两条命令,出现如下提示,则成功
<class 'demo.models.OaChannelTable'>
Migrations for 'demo':
  demo\migrations\0001_initial.py
    - Create model OaChannelTable
    - Create model OaPropTable

E:\codewyan\oa>python manage.py migrate
<class 'demo.models.OaChannelTable'>
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, demo, sessions
Running migrations:
  Applying demo.0001_initial... OK

      接下来,就可以在自己的views.py里访问models里的类(models会将数据表映射为类,然后采用类名.objects.all()[:10]访问数据库,得到一个查询的queryset)。

      坑还有很多,笔者在后面的学习中会不断积累并记录的。

     一切顺利的话,django就建好了!当然,过程中可能有意外,bug无时无刻不在。google,百度都可以,这个过程也是学习很快的过程,不要怕bug!笔者也是踩着坑过来的。

      

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值