Django网站开发

代码编写流程:

编写SQL -> 编写视图 -> 视图映射 -> 编写模板 -> 测试提交

一、安装annaconda(Mac中)

二、安装Pycharm Pro(Mac中)

三、安装Mysql(Mac中)

四、用annaconda创建虚拟环境(终端中)

        ·创建:

conda create -n xxx python=3.6 

# python解释器尽量使用3.4~3.6版本

        ·激活:

conda activate xxx

         ·退出:

conda deactivate

        ·删除该环境:

conda remove --name xxx --all

五、进入虚拟环境,安装django(终端中)

pip install django==2.2

# 3.X版本太新,先不用

六、创建django项目(终端中)

django-admin startproject xxx

七、创建用户表app(终端中)

        ·进入项目目录,创建app

        ·定义模型类,继承AbstractUser

        ·settings.py中指明AUTH USER MODEL = '应用名'.‘类名’

        注意:此操作要在第一次migrate之前进行

python manage.py startapp xxx

八、创建数据库(终端中)

        ·进入mysql数据库,执行

create database XXX default charset utf8;

        ·通常数据库名跟项目名保持一致

        ·(pycharm中)settings.py里进行数据库的配置,修改DATABASES配置项的内容,由sqlite3变为mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',  # 指定连接的数据库的名称
        'USER': 'root',  # 指定登录到数据库的用户名
        'PASSWORD': 'Xiaowen147',  # 数据库的密码
        'HOST': '127.0.0.1',  # 连接具体数据库的IP
        'PORT': '3306',  # 连接具体数据库的端口
    }
}

注意: python3连接mysql得使用pymysql,MysqlDB模块很久没更新了,但django默认调用的还是MysqlDB,所以pymysql有个功能可以让django以为是用了MySQLdb,即在项目目录下的__init__.py中加上一句代码,不加的话,一会连接数据时会报错:

import pymysql

pymysql.install_as_MySQLdb()

shell操作:

mysql> show databases;  # 查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)
mysql> use test;  # 进入test数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;  # 查看数据库中的表
+-------------------------------------+
| Tables_in_test                      |
+-------------------------------------+
| auth_group                          |
| auth_group_permissions              |
| auth_permission                     |
| django_admin_log                    |
| django_content_type                 |
| django_migrations                   |
| django_session                      |
| user_list_userinfo                  |
| user_list_userinfo_groups           |
| user_list_userinfo_user_permissions |
+-------------------------------------+
10 rows in set (0.01 sec)
mysql> desc user_list_userinfo;  # 查看表中的字段
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | bigint       | NO   | PRI | NULL    | auto_increment |
| last_login   | datetime(6)  | YES  |     | NULL    |                |
| is_superuser | tinyint(1)   | NO   |     | NULL    |                |
| first_name   | varchar(150) | NO   |     | NULL    |                |
| last_name    | varchar(150) | NO   |     | NULL    |                |
| email        | varchar(254) | NO   |     | NULL    |                |
| date_joined  | datetime(6)  | NO   |     | NULL    |                |
| username     | varchar(10)  | NO   | UNI | NULL    |                |
| password     | varchar(20)  | NO   |     | NULL    |                |
| tel          | varchar(11)  | YES  |     | NULL    |                |
| create_time  | datetime(6)  | NO   |     | NULL    |                |
| recent_time  | datetime(6)  | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
12 rows in set (0.01 sec)

九、设置settings.py:语言、时区、安装app、templates、URLS(pycharm中)

十、在app目录下写各自模型类

from django.db import models
 
class XXX(models.Model):
    pass

十一、makemigrations、migrate数据表

python manage.py makemigrations
python manage.py migrate

十二、继续增加所需app

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值