一、基础操作步骤
1. 创建django项目
django-admin startproject your_project
2. 创建app
django-admin startapp your_app
3. 添加处理函数:
在views.py中编写处理函数,每一个url请求需要对应一个处理函数:
def index(request):
return render(request, "index.html")
4. 添加模板:
在templates目录下新建或者导入index.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index page</title>
</head>
</html>
5. 配置settings.py:
- 在settings.py的INSTALLED_APPS中添加your app:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"your_app",
]
- 在settings.py的TEMPLATES中添加你的模板路径:
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
'DIRS': [os.path.join(BASE_DIR, 'your_app/templates')],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
]
- 在settings.py中配置静态文件路径:
STATIC_URL = "static/"
STATIC_ROOT = "static_root"
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
这是为了使网页能够按要求的样式展现(另外,如果是在本地调试,DEBUG也需要配置成True)。
具体可以参考:Django的STATIC_URL与STATIC_ROOT与STATICFILES_DIRS详解以及本地访问static图片资源_staticfiles_dirs static_root-CSDN博客
6. 添加路径
在urls.py中添加url路径,指向views里的处理函数:
urlpatterns = [
path('', views.index, name='index'),
]
完成以上操作步骤之后,项目应该可以正常跑起来,在浏览器中输入:http://127.0.0.1:8000/
二、数据库相关操作
1. 创建数据类型
在models.py中创建你需要的数据类型:
class your_dataclass(models.Model):
id = models.IntegerField(primary_key=True)
time = models.DateTimeField(null=True)
source = models.CharField(max_length=20, null=True)
text = models.CharField(max_length=200, null=True)
2. 生成数据库迁移脚本
通过python命令,自动生成数据库迁移脚本,会自动检索当前数据库和models.py中的数据类型差异,对数据库表进行创建,修改,删除等操作。(注意:这里只是生成脚本,不会执行脚本,执行脚本需要运行另外一个命令)。
迁移是非常强大的功能,它能让你在开发过程中持续的改变数据库结构而不需要重新删除和创建表 - 它专注于使数据库平滑升级而不会丢失数据。
python manage.py makemigrations
命令执行完成以后,可以用下面这个命令查看针对your_app生成的数据库脚本 :
python manage.py sqlmigrate your_app 0001
3. 运行数据库脚本
执行下面的命令,将运行数据库脚本,对数据库完成相关操作 。
migrate 命令只会为在 INSTALLED_APPS 里声明了的应用进行数据库迁移,可以在迁移之前删除不需要的APP:
python manage.py migrate
4. 数据库操作之增删改查
直接通过在models.py中创建的数据类型即可对数据库进行相关操作:
"""获取整个表的数据"""
your_dataclass.objects.all()
"""获取第一条数据"""
your_dataclass.objects.filter(id=1).first()
"""新增一条记录"""
your_dataclass.objects.create(字段="value",...)
"""按条件删除记录"""
your_dataclass.objects.filter(过滤条件).delete()
"""删除整个表"""
your_dataclass.objects.all().delete()
"""更新数据"""
your_dataclass.objects.filter(id=2).update(age=999)
your_dataclass.objects.all().update(password=999)
your_dataclass.objects.filter(name="张三").update(age=999)
三、运行和管理
1. 运行server
通过以下命令运行server,默认监听本地服务127.0.0.1:8000
python manage.py runserver
可以添加参数修改IP和端口:
python manage.py runserver 0.0.0.0:8080
然后执行:python manage.py runserver 0.0.0.0:8000
2. 管理服务器数据
2.1 创建管理员账号:
python manage.py createsuperuser
2.2 注册管理数据: 添加需要在管理页面进行管理的数据,在admin.py里注册数据类型,
admin.site.register(your_dataclass)
2.3 进入管理页面:通过127.0.0.1:8000/admin进入管理页面,可以在里面进行数据管理
以上为本地Django项目的搭建过程,实际上生产部署的操作步骤和注意事项,请参考: