一、新建项目
进入准备新建项目的上级路径,运行startproject命令,如下:
python E:\py_project\dj_pro\dj_env\Scripts\django-admin.py startproject 项目名称
二、新建应用
在新建的项目路径下,python manage.py startapp 应用名称
三、配置settings.py文件
1、如需要,import os
2、在INSTALLED_APPS中添加新建应用
3、TEMPLATES配置,
'DIRS': [
os.path.join(BASE_DIR,'templates'),
BASE_DIR / 'templates/app01',
],
在下图的结构中,视图函数可按如下写法:
1.1
def book_view(request):
book_list = Book.objects.all()
return render(request, "app03/index.html", {'book_list': book_list})
1.2
def book_add(request):
return redirect(reverse('app03:book_view'))#注意reverse函数也要加上命名空间
1.3、HTML中写法如下:
<a href="{% url 'app03:book_view' %}">图书管理系统</a>
4、数据库配置,以mysql为例
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bookmanagedb',
'HOST': 'localhost',
'PORT': '3306',
'USER': 'root',
'PASSWORD': '*********',
}
5、配置静态文件
STATIC_URL = '/static/'
当static目录下有其他文件夹时,需要添加STATICFILES_DIRS
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
如下图的结构在HTML文件中,可以按下面的代码书写,否则有时会提示错误:
Not Found: /favicon.ico
[07/May/2022 20:49:12] "GET /favicon.ico HTTP/1.1" 404 2221
[07/May/2022 20:49:12,212] - Broken pipe from ('127.0.0.1', 50859)
{% load static %}
<link rel="shortcut icon" href="{% static 'images/favicon.ico' %}" type="image/x-icon">
<script src='/static/js/jquery.js'></script>
四、在项目路径下(非应用路径)的init.py中,配置数据库引擎
import pymysql
pymysql.install_as_MySQLdb()
五、在应用路径下(如app01)建立models.py文件
六、数据库迁移
python manage.py makemigrations
python manage.py migrate