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)
);
- 然后在插入数据