Django学习笔记
一直想学个服务器开发语言以便自己独立开发API服务器,之前想学PHP不过看了点不怎么感兴趣。加上小伙伴们都推荐Django,今天就尝试看看。
Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。
Django 框架的核心组件有:
- 用于创建模型的对象关系映射
- 为最终用户设计的完美管理界面
- 一流的 URL 设计
- 设计者友好的模板语言
- 缓存系统
安装
安装PIP
1 | sudo apt-get update |
安装Django
1 | pip install Django |
开始第一个项目
创建Django项目只需要一条命令,如创建一个apiserver
项目
1 | django-admin.py startproject apiserver |
Django在当前目录下创建一个apiserver
文件夹,其目录结构如下
1 | └── apiserver |
- init.py:Python特性,可以是空文件,表明这个文件夹是一个可以导入的包。
- settings.py:配置文件,本文主要修改数据库信息、模板目录、加载模块的信息。
- url.py:URL配置文件,指定函数与URL的映射关系。
- wsgi.py:本文中不会使用,nginx/apache+wsgi在生产环境中运行Django时使用。
创建完成后可以通过命令python manage.py runserver
,由于我们是创建在云服务器,所以还需要开放外网访问才能访问到该页面,则用下面的命令。
1 | python manage.py runserver 0.0.0.0:8080 |
若看到一下提示则表示需要用python manage.py migrate
命令使设置生效。
1 | You have unapplied migrations; your app may not work properly until they are applied. |
设置生效后再次运行runserver
命令。访问http://服务器IP:8000
可以看到安装成功提示。
连接Mysql数据库
服务器上配置Mysql数据教程参考How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu。
编辑配置文件/apiserver/apiserver/settings.py
,找到DATA-BASES的配置,并修改为Mysql。
1 | DATABASES = { |
Django(Python)操作MySQL依赖第三方包,所以要先安装MySQL for Python。
1 | sudo apt-get install libmysqld-dev |
安装完成后再次运行Migerate操作。如果相关模块安装正确,则可以看到以下的表结构。
mysql> SHOW TABLES;
+