django项目基础操作

本文环境:Python3.6.2,django1.8.16
不同版本的django代码上有所不同,尤其是1.6之前和2.0以后。
django项目新建
1、安装python和某版本的django
2、新建django项目

django-admin startproject ***, cd *** , python3 manage.py startapp ---

3、将app添加到项目中
打开settings.py文件

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    '***',
)

在INSTALLED_APPS中增加app,注意后面还要加一个逗号,跟原来保持相同的格式。

4、添加网址
打开urls.py

from django.contrib import admin
from auto import views as auto_views

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'****/', auto_views.---, name='---'),
    ]

前面的url可以随便写,中间是对应的view.py中的方式,访问前面的url就会触发后面的方法

5、项目启动方法

python3 runserver 8080

6、admin管理页面
默认是localhost:8080/admin即可访问
使用命令新建超级用户

python3 manage.py createsuperuser

修改用户密码

python3 manage.py changepassword username

7、进入数据库命令行命令

python3 manage.py dbshell

如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。在这个终端可以执行数据库的SQL语句。

8、django数据库操作

默认的sqlite3配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

mysql数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '***',
        'USER': '****',
        'PASSWORD': '****',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

oracle数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        'NAME': '***', 
        'USER': '***', #用户名
        'PASSWORD': '****', #密码
        'HOST': '127.0.0.1', #HOST
        'PORT': '1521', #端口
    }
}

建表操作
1、通过django建表
这种当时可以完全不去直接操作数据库,通过代码让django自己去生成表,增删改查等操作都不在话下。
建表方法:在models.py文件中新建class,class名就是表名,格式类似

class DjangoSession(models.Model):
    session_key = models.CharField(primary_key=True, max_length=40)
    session_data = models.TextField()
    expire_date = models.DateTimeField()

    class Meta:
        managed = False
        db_table = 'django_session'

代码完成后执行建表命令

python3 manage.py makemigrations
python3 manage.py migrate

连接已有的表
正常的建表操作是先写好我们的class,即定义表的字段等信息,然后根据已有的class信息去建表,这里情况相反,操作过程也是逆向的,我们要先执行命令:

python3 manage.py inspectdb

执行之后django会根据已有的表字段等信息自动为你生成models文件对应的class代码,只要将代码复制到models.py文件中就可以了!

ps:如果本机既安装了python2,又安装了python3,要注意执行命令是选择对应的版本,不然可能会遇到各种奇奇怪怪的问题,毕竟python2和3改动还是很大的,包括各种模块的第三方库的支持。

你可能感兴趣的:(django项目基础操作)