Django框架初识

MVC的设计思想

MVC的设计模型

Django的MVC模型

MTV设计简介

MTV的设计模式

虚拟环境

https://www.cnblogs.com/kaid/p/8227635.html

django的安装

创建一个Django的项目

  1. 安装virtualwrapper,打开终端,输入如下的命令

pip3 install virtualenvpip3 install virtualenvwrapper

  1. 在配置文件~/.bash_profile中添加代码

# Settings for virtualenvwrapperexport WORKON_HOME=$HOME/.virtualenvssource /usr/local/bin/virtualenvwrapper.sh

  1. 让配置生效

source ~/.bash_profile

创建虚拟环境

# 创建虚拟环境 $ virtualenv -p python3 ~/FOLDER-PATH/venv3

# 或更具体的指定路径(同样适用于Python2的安装) $ virtualenv -p /usr/local/opt/python/libexec/bin/python ~/FOLDER-PATH/venv3

# 进入虚拟环境 $ source ~/FOLDER-PATH/venv3/bin/activate

参考资料:https://cloud.tencent.com/developer/article/1005607

创建工程:django-admin startproject HelloDjango

进入项目根目录,创建一个app:python manage.py startapp App

可创建多个app的

启动服务:python manage.py runserver

python manage.py runserver 0.0.0.0:8000 所有人都能看见的ip

数据库的同步命令:python manage.py migrate

创建用户:python manage.py createsuperuser

安装的Python库:pip freeze

流程图:

models定义模型后的生成:

python manage.py makemigrations

后再执行迁移python manage.py migrate

mysql -uroot -p01206437

create database GP1HelloDjango

遇到的问题:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.2


解决方案:

1、raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)

  django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.  

解决办法:

C:Python37Libsite-packagesdjangodbackendsmysql(python安装目录)打开base.py,注释掉以下内容:        

if version < (1, 3, 13):           raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)   

2、File “C:Python37libsite-packagesdjangodbackendsmysqloperations.py”, line 146, in last_executed_query   

query = query.decode(errors=‘replace’)   

AttributeError: ‘str’ object has no attribute ‘decode’   

解决办法:

打开此文件把146行的decode修改为encode

————————————————

原文链接:https://blog.csdn.net/weixin_45476498/article/details/100098297

 

 

 

shell调试方法:python manage.py shell

 

遇到的问题:

TypeError: __init__() missing 1 required positional argument: 'on_delete'

https://www.cnblogs.com/phyger/p/8035253.html

原文地址:https://www.cnblogs.com/lzp1103/p/11651932.html