Django开发流程
1、命令行创建Django工程
django-admin startproject project
2、创建应用app
cd project
python manage.py startapp app
3、将app添加到INSTALLED_APPS列表中(setting.py)
4、设置中文,和时区、静态文件指向(settings.py),并在project根目录下创建static目录
# 设置时区 注意注释上面的:LANGUAGE_CODE、TIME_ZONE、USE_TZ
LANGUAGE_CODE = \'zh-Hans\' # 中文编码
TIME_ZONE = \'Asia/Harbin\' # 时区
USE_TZ = False # 不使用默认时区
# 设置静态文件指向
STATICFILES_DIRS = [
os.path.join(BASE_DIR,\'static\'),
]
# 常见的时区有:[\'Asia/Shanghai\', \'Asia/Harbin\', \'Asia/Chongqing\', \'Asia/Urumqi\', \'Asia/Kashgar\']
5、创建模板templates(分两种情况)并设置模板指向(settings.py)
-
工程中创建,即在project根目录下创建templates目录,修改TEMPLATES列表中的DIRS,如:
\'DIRS\': [os.path.join(BASE_DIR, \'templates\')],
- 应用中创建,即在app目录下创建templates目录, 修改TEMPLATES列表中的DIRS,如:
\'DIRS\': [os.path.join(BASE_DIR, \'app/templates\')],
6、配置运行环境
DJANGO_SETTINGS_MODULE=VisualizationSystem.settings
7、拷贝urls.py 到 app中
- 修改原urls.py
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r\'^admin/\', admin.site.urls),
#url(r\'^\', include(\'app.urls\', namespace=\'app\'))
# 新版
url(r\'^\', include((\'app.urls\', \'app\'), namespace=\'app\'))
]
- 修改app.urls
from django.conf.urls import url,include
from . import views
urlpatterns = [
url(r\'^$\', views.index,name=\'index\'),
]
8、在templates中新建一个index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<p>欢迎来到Django!</p>
</body>
</html>
- 在views.py中添加代码
from django.shortcuts import render,redirect
# Create your views here.
# 主页
def index(request):
return render(request,\'index.html\')
9、测试
10、Django配置mysql
- settings.py中配置:
# 修改数据库相关配置(注意注释上面的DATABASES)
DATABASES = {
\'default\': {
\'ENGINE\': \'django.db.backends.mysql\',
\'NAME\': \'test1\',
\'USER\': \'root\',
\'PASSWORD\': \'123456\',
\'HOST\': \'localhost\',
\'PORT\': \'3306\',
}
}
- 在网址(http://www.lfd.uci.edu/~gohlke/pythonlibs/# )安装mysqlclient,注意版本对应如:
mysqlclient-1.3.10-cp36-cp36m-win32.whl
11、Pycharm创建Django admin用户名和密码
- Pycharm导航:Tools>Run manage.py Task
- 依次输入:
makemigrations
migrate
createsuperuser
如:
12、数据迁移,在创建管理员用户时,出现错误:1048,\'column\' last_login \'不能为null\'
- 查看django_migrations表的信息。如果你看到一些记录,删除它们(如果migrations目录下有原来的配置,需要清除)。
# database1为工程的数据库
mysql> USE database1;
mysql> SELECT * FROM django_migrations;
- 将django_migrations表的信息清空
mysql> TRUNCATE TABLE django_migrations;
- 离开MySQL终端,并在django中再次运行迁移:
13、进入django工程后台管理界面,打开数据表时,出现错误: 1054 - Unknown column \'表名.id\' in \'field list\'
解决办法:
- 删掉数据库,重新建表,指明主键:
create table video_info(
id int(10) primary key auto_increment not null,
name varchar(30),
desc varchar(50)
);
- 然后在插入数据