Django学习笔记(一)

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安装
            略

    (2)Django安装
pip install Django

    (3)MySQL安装
            略

二、新建一个django项目

新建项目:
django-admin startproject mysite
 
这将会在当前目录下生成一个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.
要使用这些应用需要在数据库中建立相应的表,使用如下命令来自动创建数据表:
python manage.py migrate





你可能感兴趣的:(Django学习笔记)