Django 创建app 应用,数据库配置
- 一.create project
- mkdir jango
- cd jango 目录创建project myapp
- django-admin startproject myapp
- 2.在给project创建app
- cd myapp 的project下:
- python manage.py startapp appname 创建一个app
- python manage.py run server localhost:9999 启动jango server 默认:http://localhost:9999访问显示django页面表示创建app ok
- 二.数据库mysql以及可能遇到问题:
- tips:
- 修改settings.py :
- 1.ALLOWED_HOSTS = ['*',] 默认是空,如果想实现非localhost地址连接django server,
- 注意在同一网落,此外注意结尾要保留逗号","
- DATABASES修改如下,其中NAME表示数据库你想要新建初始化数据的db名称,如果数据库已经存在此db,
- 先登录mysql所安装机器mysql -u root -p 然后drop database existedDbName;此外修改默认的数据库ENGINE sqlite3为mysql,再执行创建进行初始化迁移的db ,
- create database mysitedb CHARACTER SET utf8 COLLATE utf8_general_ci;:
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.mysql',
- 'NAME': "mysitedb",
- 'USER': 'root',
- 'PASSWORD': 'root',
- 'HOST': '192.168.110.128',
- 'PORT': '3306',
- }
- }
- 在进行数据库迁移前必须确保数据库已存在并且可以连接:
- 在project目录之前是myapp目录(settings.py所在的目录下)的init.py 添加:
- import pymysql
- pymysql.install_as_MySQLdb()
- 最后修改django默认语言和时区为Asia/Shanghai如下默认是:{ #LANGUAGE_CODE = 'en-us'
- #TIME_ZONE = 'UTC' }修改为:
- LANGUAGE_CODE = 'zh-hans'
- TIME_ZONE = 'Asia/Shanghai'
- 最后执行数据库初始化迁移migrate:
- python manage.py makemigrations
- python manage.py migrate
- 执行迁移最终成功如下,也可以进入数据库检查mysitedb 也就是你创建的db:use dbname; show tables;:
- Operations to perform:
- Apply all migrations: admin, auth, contenttypes, sessions
- Running migrations:
- Applying sessions.0001_initial... OK
- 检查数据库会如下:
- mysql> show tables;
- +----------------------------+
- | Tables_in_mysitedb |
- +----------------------------+
- | auth_group |
- | auth_group_permissions |
- | auth_permission |
- | auth_user |
- | auth_user_groups |
- | auth_user_user_permissions |
- | django_admin_log |
- | django_content_type |
- | django_migrations |
- | django_session |
- +----------------------------+
- 10 rows in set (0.05 sec)
- 这就是意味着数据库初始化迁移成功啦!!!
- 数据库迁移过程可能遇到问题以及解决方案:
- 1.mysql 连接失败django.db.utils.InternalError:
- (1130, "Host '192.168.110.1' is not allowed to connect to this MySQL server"):
- 解决方案:
- 1.1授权 settings.py 配置数据库用户root任意地址访问:
- use mysql ;
- update user set host = '%' where user ='root';
- flush privileges;
- 2.FAQ-RuntimeError: cryptography is required for sha256_password or caching_sha2_password
- 解决:pip install cryptography
- python version: 3.7.2
- 3.django.core.exceptions.ImproperlyConfigured:
- mysqlclient 1.3.13 or newer is required; you have 0....
- 解决:cd C:\Python37\Lib\site-packages\django\db\backends\mysql
- 3.1修改base.py 和operations.py :
- 3.2修改operations.py :
- query = query.decode(errors='replace')的decode修改为encode
- 注释base.py :
- if version < (1, 3, 13):
- raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
- 三.settings.py管理应用多个:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"app",
"app2",
"app3"
]
Django 创建app 应用,数据库配置的更多相关文章
- Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置
近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...
- (转载)Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置
近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...
- Django MTV 开发模式 + 数据库配置
MTV 开发模式 Django 的设计鼓励松耦合及对应用程序中不同部分的严格分割.遵循这个理念的话,要想修改应用的某部分而不影响其它部分就比较容易了.在视图函数中,我们已经讨论了通过模板系统把业务逻辑 ...
- Django 创建 APP和目录结构介绍
一.通过pip安装Django 以windows 系统中使用pip命令安装为例 win+r,调出cmd,运行命令:pip install django自动安装PyPi 提供的最新版本.指定版本,可使用 ...
- Django创建App报错
在django下创建APP项目时遇到的坑 python manage.py startapp app01 报错内容如下: 解决:找到报错中的文件夹151行删除items(),)中的逗号即可 在命令行下 ...
- django创建app
前几天,
- python27+django创建app
python manage.py startapp polls创建一个叫polls的app 编辑文件 polls/models.py : 1 from django.db import models ...
- Django 创建APP简单步骤
yum install epel-releaseyum install python34yum install python-pippip install django django-admin st ...
- django 创建model(数据库表)失败
在models.py中创建数据库表 from django.db import models # Create your models here. class Book(models.Model) ...
随机推荐
- python3练习100题——033
链接:http://www.runoob.com/python/python-exercise-example33.html 题目:按逗号分隔列表. l=[1,2,3,4] k=1 for i in ...
- android 如何查看socket、websocket通信数据 抓包
怎么使用可以自行百度
- ArcMap空间参考警告窗口关了怎么重新打开
有时候加载的数据没有空间参考或者空间参考和数据框的空间参考不一致,都会弹出警告的对话框 如果选中不再向我发出警告复选框,之后又想显示它,可启动 AdvancedArcMapSettings.exe 工 ...
- C++-POJ2777-Count Color[线段树][lazy标记][区间修改]
分析:https://www.bilibili.com/read/cv4777102 #include <cstdio> #include <algorithm> using ...
- Postman:下载安装与基本介绍
1.下载: (1)官网APP: https://www.getpostman.com/ (即: https://app.getpostman.com/app/download/win64 ) (2)插 ...
- PLSQL无法连接(不存在或找不到oci.dll)
问题说明:新系统安装plsql后,连接不上Oracle,连接时出现过两种报错 1.找不到OCI.dll文件 2.不能初始化OCI.dll文件,即OCI.dll文件错误 解决方案 plsql连接Orac ...
- 第一篇 网站基础知识 第5章 自己动手实现HTTP协议
第5章 自己动手实现HTTP协议 我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文的格式封装和解析数据就可以了,具体的传输还是使用的Socket,在第4章NioServer的基础上自己做一 ...
- (转)DNS使用的是TCP协议还是UDP协议
转自:DNS使用的是TCP协议还是UDP协议 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下 ...
- python面试的100题(8)
企业面试题 15.python新式类和经典类的区别? (在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性 ...
- LeetCode第144场周赛总结
5117.IP地址无效化 首先计算出输入IP地址的长度,然后遍历每一个字符. 如果当前字符为'.',就在它的前后两侧分别加上'['和']'字符. 值得一提的是,C++的String类型提供了以上操作的 ...