Django学习笔记(一)
本文为博主学习Django1.11文档所做的笔记,以备日后翻阅。
先说遇到的一个巨坑,python3使用django连接MySQL数据库不再使用mysqldb,不要尝试去安装
MySQL-python,那是一条不归路,那是python2.x的用法,因为mysqldb暂不支持python3。
python3使用pymysql替代之,使用
pip3 install pymysql
来安装,然后修改已建立的网站同名目录下的__init__.py文件,在__init__.py中添加如下代码:
import pymysql
pymysql.install_as_MySQLdb()
一、安装python,django,MySQL
(1)python安装
略
略
二、新建一个django项目
新建项目:
django-admin startproject mysite
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
外层的mysite目录名称可改,与项目无直接联系。
三、选择数据库
django默认使用自带的SQLite
要使用其他数据库需编辑
settings.py文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite', # database name
# The following settings are not used with sqlite3:
'USER': 'root',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
ENGINE - 'django.db.backends.sqlite3'
'django.db.backends.postgresql_psycopg2'
'django.db.backends.mysql'
'django.db.backends.oracle'
NAME - (1)如果使用SQLite,数据库是计算机上的一个文件,NAME为其绝对路径,包含文件名。
默认值是os.path.join(BASE_DIR, 'db.sqlite3')
(2)其他数据库需要填写其他字段设置,如上例所示。
(1)使用SQLite,数据库文件会自动创建,
(2)使用其他数据库则在你的数据库中建立好NAME对应名字的数据库(如上例中的mysite),在数据库交互模式下输入:
CREATE DATABASE database_name;
来创建你的数据库。
四、开发服务器
python manage.py runserver
使用上述命令启动django开发服务器,默认使用8000端口。
可以使用浏览器访问http://127.0.0.1:8000/来查看网页项目。
可以更改端口:
python manage.py runserver 8080
也可以更改IP,使用如下IP可以监听所有外网IP,可以从其他电脑访问项目:
python manage.py runserver 0.0.0.0:8000
开发服务器会根据需要自动重载python代码,但是添加文件需要手动重启服务器。
五、Django自带应用
django.contrib.admin
– The admin site. You’ll use it shortly.
django.contrib.auth
– An authentication system.
django.contrib.contenttypes
– A framework for content types.
django.contrib.sessions
– A session framework.
django.contrib.messages
– A messaging framework.
django.contrib.staticfiles
– A framework for managing static files.
要使用这些应用需要在数据库中建立相应的表,使用如下命令来自动创建数据表: