目录
1、Django项目目录解析
(1)使用pyCharm创建Django项目(也可手动创建django-admin startproject HelloWorld),pyCharm的Tools-Run manage.py Task可以直接使用manage.py进行操作。
(2)为了便于组织不同应用,新建apps文件夹,并将创建的应用都放在该文件夹下。新建extra_apps用于存放第三方的源码。
(3)新建的app,需要将apps.py中的项目类配置到settings.py文件中的INSTALLED_APPS中。
2、配置url和静态文件
(1)pyCharm的工具栏上的run可以启动Django应用,也可以使用manage.py启动Django项目
python manage.py runserver 127.0.0.1:8000
ctrl+fn+b 退出网站
(2)在urls.py中将自己的应用配置进来(访问的url和对应的操作),并在应用的views.py中配置对应的处理方法(将html页面返回)。
(3)配置静态文件
在settings中设置STATICFILES_DIRS为全局下的static文件夹
(4)配置一个html页面显示的步骤
a. 配置url
b. 配置对应的views逻辑
c. 拆分(css,js,image)到静态文件中,html放到templates中
d. 配置全局static路径
3、 orm和model表设计
(1)为了使管理后台可以访问数据库,要做一个数据库迁移
python manage.py makemigrations
python manage.py migrate
(2)将数据库engine改为MySQL
(3)在models中定义表结构
4、model进行增、删、改、查
(1)在views中进行与html页面进行互动
(2)从数据库里取数据
5、html页面与数据库的交互
(1)html 数据保存到数据库中(post)
a. form表单的action属性要对应相应的网页,才能在表单提交时将数据存入数据库
<form action="/message_form/" method="post" class="smart-green">
b. 注意Django强制要在表单最后添加{ % csrf_token %},防止csrf攻击
c. 一般一个网页既有get功能,又有post功能
(2)html显示数据库中的数据(get)
# 一个网页既有get功能,又有post功能
def message_form(request):
if request.method == "POST":
message = Message()
message.name = request.POST.get("name", "")
message.email = request.POST.get("email", "")
message.address = request.POST.get("address", "")
message.message = request.POST.get("message", "")
message.save()
return render(request, "MediaBoard.html", {
"message": message
})
if request.method == "GET":
var_dict = {}
all_messages = Message.objects.all()
if all_messages:
message = all_messages[0]
var_dict = {
"message": message
}
return render(request, "MediaBoard.html", message)
Django的templates模板(django.template.backends.django.DjangoTemplates)使用{{}}来与后端python代码交互