在使用Django创建一个web实例前,我安装了python 2.7(64位) 、mysql5.5、django1.10、MySQL-python-1.2.3.win-amd64-py2.7.exe这些程序。
关于Django与mysql的环境搭建,可以从网上查找,在这里不做赘述。如果环境配置不好,有问题,可以私信我,谢谢!
验证python安装成功,执行命令:python --version
验证mysql安装成功,在客服端输入密码:
验证django安装成功,执行命令:python -c "import django; print(django.get_version())"
验证MySQL-python-1.2.3.win-amd64-py2.7.exe安装成功,执行命令:python -c "import MySQLdb;"
以上信息如果能够成功,说明django环境已经配置成功。可以选择合适的开发工具进行编码。
网上大多数的教程通过命令行的命令来创建项目和startapp。
在这里我使用eclipse来作为开发工具,关于eclipse+pydev这个相关文档网上有相关介绍。
首先,通过eclipse新建项目,选择django项目:
然后,点击next,输入项目名,例如Demo123
一直点击next,进入到“Django Setting”页面,设置如下图的信息:
以上信息配置后,点击finished,这就创建了一个项目。
这个项目中包含了,如下图示信息:
__init__.py:文件用于把该目录下的包在其他目录中可以通过包名引用。
setting.py:文件包含项目的默认设置。包括数据库信息、调试标志以及其他一些重要的变量。项目里安装的任何应用都可以访问这个文件。
urls.py:在Django里叫URLconf,它是一个将url模式映射到应用程序上的配置文件。
wsgi.py: 服务器网关接口,是Python语言定义的web服务器和web服务程序或者框架之间的一种简单而通用的接口.
manage.py:文件是一个命令行工具。
from __future__ import unicode_literals
from django.contrib import admin
from django.db import models
class myappPost(models.Model):
title=models.CharField(max_length=150)
body=models.TextField()
timestamp=models.DateTimeField()
admin.site.register(myappPost)
在setting.py文件中的INSTALLED_APPS 添加myapp,添加结果如下:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
在DATABASES 中添加如下信息:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sqlone',
'USER':'root',
'PASSWORD':'root',
'HOST':'',
'PORT':'',
}
}
配置完后,通过mysql客户端执行命令:create database sqlone set coding=utf8;
数据库创建成功,在eclipse中添加django的命令:makemigrations与migrate。
首先运行makemigrations,运行结果如下:
然后运行命令:migrate,运行结果如下:
进入mysql数据,选择sqlone,执行show tables:
然后在浏览器输入:"127.0.0.1:8000/admin",会进入如下界面:
如果不知道登录名和密码,可以进入到manage.py目录下,执行命令:python manage.py createsuperuser,在控制台会要求输入用户名、邮箱、密码:
密码要求是八位,不能是纯数字和字母。我设置的密码为:admin123,输入设置好的用户名和密码,进入大如下界面:
以上是一个简单的实例讲解,Django的确比较强大,比其他一些流行框架使用起来更方便快捷,技能负责前端又能负责后台!在操作实例中,难点是环境配置,和数据的配置信息,如果通过eclipse在创建项目时,数据库不是mysql,项目就不能使用mysql,在配置信息中填写也会出错、、、、