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) ...
随机推荐
- IDEA构建maven项目生成的文件详解
IDEA构建的maven+springBoot项目结构如下: 1. .gitignore:分布式版本控制系统git的配置文件,意思为忽略提交 在 .gitingore 文件中,遵循相应的语法,即在每一 ...
- Python发带附件的邮件
python实现发送带附件的邮件 import smtplib from email.mime.text import MIMEText from email.mime.multipart impor ...
- linux学习笔记1:linux驱动设备概述
- 【Python】字符串切片
- [HEOI2016] 字符串 - 后缀数组,主席树,ST表,二分
[HEOI2016] 字符串 Description 给定一个字符串 \(S\), 有 \(m\) 个询问,每个询问给定参数 \((a,b,c,d)\) ,求 \(s[a..b]\) 的子串与 \(s ...
- 【Python requests多页面爬取案例】
"```python import requests from fake_useragent import UserAgent # 随机ua库 class Boring(): def __i ...
- Python之路【第三十二篇】:django 分页器
Django的分页器paginator 文件为pageDemo models.py from django.db import models # Create your models here. cl ...
- Python - 反向遍历序列(列表、字符串、元组等)的五种方式
1. reversed() a = [1, 2, 3, 4] for i in reversed(a): print(i) 2. range(len(a)-1, -1, -1) a = [1, 2, ...
- CentOS7识别不到win10启动项的解决方法
Windows的文件系统是NTFS格式的,而CentOS是不支持NTFS格式的.因此,我们要安装另外的工具使CentOS能识别NTFS格式的文件系统. 这里我们选择ntfs-3g这个工具,安装过程如下 ...
- crowdfunding项目03——mapper映射错误
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'TAd ...