Django——学习周报1

版权声明:攻城狮的博文 https://blog.csdn.net/weixin_40824913/article/details/83962705

Python打造在线教学平台学习

		             ——————  学习周报 2018.11.11


本周计划:

  • 完成课程第3,4章的学习,
  • 复习django知识

完成情况:

  • 第3章 留言板功能已经实现

  • 第4章 需求分析与model 设计
    1. 牢记Django 2.0的注意事项
    2. django-app设计
    3. user models.py 设计
    4. organization models.py 设计
    5. course models.py 设计
    6. operation models.py 设计
    7. 数据表生成
    8. apps目录的建立

  • Navicat for MySQL的使用

展示:

1.留言板:

代码:

  • CSS
.smart-green {
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
    background: #F8F8F8;
    padding: 30px 30px 20px 30px;
    font: 12px Arial, Helvetica, sans-serif;
    color: #666;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.smart-green h1 {
    font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
    padding: 20px 0px 20px 40px;
    display: block;
    margin: -30px -30px 10px -30px;
    color: #FFF;
    background: #9DC45F;
    text-shadow: 1px 1px 1px #949494;
    border-radius: 5px 5px 0px 0px;
    -webkit-border-radius: 5px 5px 0px 0px;
    -moz-border-radius: 5px 5px 0px 0px;
    border-bottom: 1px solid #89AF4C;
}

.smart-green h1 > span {
    display: block;
    font-size: 11px;
    color: #FFF;
}

.smart-green label {
    display: block;
    margin: 0px 0px 5px;
}

.smart-green label > span {
    float: left;
    margin-top: 10px;
    color: #5E5E5E;
}

.smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {
    color: #555;
    height: 30px;
    line-height: 15px;
    width: 100%;
    padding: 0px 0px 0px 10px;
    margin-top: 2px;
    border: 1px solid #E5E5E5;
    background: #FBFBFB;
    outline: 0;
    -webkit-box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
    box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
    font: normal 14px/14px Arial, Helvetica, sans-serif;
}

.smart-green textarea {
    height: 100px;
    padding-top: 10px;
}


.smart-green .button {
    background-color: #9DC45F;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-border-radius: 5px;
    border: none;
    padding: 10px 25px 10px 25px;
    color: #FFF;
    text-shadow: 1px 1px 1px #949494;
}

.smart-green .button:hover {
    background-color: #80A24A;
}

.error-msg{
    color: red;
    margin-top: 10px;
}
.success-msg{
    color: #80A24A;
    margin-top: 10px;
    margin-bottom: 10px;
}
  • HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<form action="/form/" method="post" class="smart-green">
    <h1>留下信息
        <span>请留下你的信息.</span>
    </h1>
    <label>
        <span>姓名:</span>
        <input id="name" type="text" name="name" class="error" placeholder="请输入您的姓名"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>邮箱:</span>
        <input id="email" type="email" value="" name="email" placeholder="请输入邮箱地址ַ"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>联系地址:</span>
        <input id="address" type="text" value="" name="address" placeholder="请输入联系地址ַ"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>留言 :</span>
        <textarea id="message" name="message"  placeholder="请输入你的建议"></textarea>
        <div class="error-msg"></div>
    </label>
    <div class="success-msg"></div>
    <label>
        <span>&nbsp;</span>
        <input type="submit" class="button" value="提交"/>
    </label>
</form>

</body>
</html>

留言板

2.项目配置流程

流程,图片来源于慕课网视频

3.django model的增删改查

(注:代码中出现中文时,应该在头部加上: # * coding:utf-8 *

查:

def getform(request):
	all_message = UserMessage.objects.all()
	for message in all_message:
		print message.name
	return render(request,'message_form.html')

有条件的查:

def getform(request):
	all_message = UserMessage.objects.filter(name='ztt',address='重庆')
	for message in all_message:
		print message.name
	return render(request,'message_form.html')

增:

def getform(request):
	# all_message = UserMessage.objects.filter(name='ztt',address='重庆')
	# for message in all_message:
	# 	print message.name
	user_message = UserMessage()
	user_message.id = "2"
	user_message.name = "jack"
	user_message.message = "hello"
	user_message.address = "北京"
	user_message.email = "[email protected]"

	user_message.save()

	return render(request,'message_form.html')

== 如果要提交数据没有403错误, 必须在HTML中加上(这是Django的一种安全机制):

<form>
 {% csrf_token %} 
<form>

将留言板页面的留言信息数据保存到数据库中,随时更新数据库:

def getform(request):
	if request.method =="POST":
		name = request.POST.get('name','')
		message = request.POST.get('name','')
		address = request.POST.get('address','')
		email = request.POST.get('email','')
		user_message = UserMessage()
		user_message.id = "3"
		user_message.name = name
		user_message.message = message
		user_message.address = address
		user_message.email = email

		user_message.save()

	return render(request,'message_form.html')

删:

def getform(request):
	all_message = UserMessage.objects.filter(name='ztt',address='重庆')
	# all_message.delete()  全部删
	for message in all_message:
		message.delete()   # 删除单条数据
	return render(request,'message_form.html')

4.Django官方文档: 搜索:“Django documentation”

5. url配置

  • 当要使用多个页面时,设置 url 别名,---------------很方便
    +不要忘记
    符号在这里插入图片描述

6.当安装python过程中出现许多错误时,到这里找包:python包网址

7. 4-1 4-2 是补充小节,后面需要时再回来看。

8. 对整个在线教育平台的功能有了全面的认识。



Django实战-数据库设计

  • 目录:

    app设计

        users-用户管理
        course-课程管理
        organization-机构和教师管理
        operation-用户操作管理
    

    models 设计

         user models.py 
         organization models.py 
         course models.py 
         operation models.py 
    

    数据表生成与修改



下周任务

  • 复习Django知识
  • 学习第五章
    • admin
    • xadmain
    • users app 的model注册
    • xadmain 全局配置

猜你喜欢

转载自blog.csdn.net/weixin_40824913/article/details/83962705