Django学习笔记–python
1 配置到django的虚拟环境下,创建虚拟环境,conda create --name xxxx python=3.6
2 激活虚拟环境,activate xxxx
3 在不同的虚拟环境下,安装不同的文件,可以进行不同版本的调试工作
4 创建一个django的项目:django-admin startproject xxxxx
5 创建一个app:首先进入该工程,python manage.py startapp xxxx001
6 启动服务:python manage.py runserver
7 进行数据的匹配工作,
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘books’, # 你的数据库名称
‘USER’: ‘root’, # 你的数据库用户名
‘PASSWORD’: ‘mysql7’, # 你的数据库密码
‘HOST’: ‘’, # 你的数据库主机,留空默认为localhost
‘PORT’: ‘3306’, # 你的数据库端口
}
}
8 app中的model,进行如下操作:
class Book(models.Model):
name = models.CharField(max_length=20)
price = models.IntegerField()
pub_date=models.DateField()
9 创建一个数据库:
python manage.py makemigrations
python manage.py migrate
10 在pycharm中显示创建好的数据库,用database的加号,加载mysql
注意写好,root,密码
11 如果出现错误,检查数据库字符类型是不是 utf8
12 三种方式写入实例对象,添加到数据库:
b = Book(name=“python”,price=99,pub_date=“2017-12-12”)
b.save()
Book.objects.create(name="技术南极",price=99,pub_date="2017-12-19")
Book.objects.create(**dic)
13 两种办法在html中添加路径
< a href=“http://127.0.0.1:8000/addbook/”>添加书籍
< a href="/addbook/">添加书籍
14 总结:增删改:
def addbook(request):
# b = Book(name=“python”,price=99,pub_date=“2017-12-12”)
# b.save()
Book.objects.create(name=“技术南极”,price=99,pub_date=“2017-12-19”)
# Book.objects.create(**dic)
return HttpResponse("okok")
def update(request):
Book.objects.filter(name="abcd").update(price = 66)
return HttpResponse("修改成功")
def delete(request):
Book.objects.filter(name=“abcd”).delete()
return HttpResponse("删除成功")
15 django的视图函数的创建:
传递的参数:html中
< h1 hello {{ time }} …>
这个time就可以通过{{}} 传递出参数,方便后期的处理工作,传递到view视图中
<!DOCTYPE html>
<html lang="en">
<head>
{% load staticfiles %}
<meta charset="UTF-8">
<title>显示动态时间</title>
</head>
<body>
<h1>
hello {{ time }}
</h1>
<script src="{% static 'jquery-1.12.4.js' %}"></script>
<script>
$("h1").css("color","red")
</script>
</body>
</html>
def times(req):
t = time.ctime()
return render(req,"time_show.html",{"time":t})
这样是添加静态文件,比如jquery,BASR_DIR是首目录,下边的blog。。。。
a settings中设置路径;
b html中设置load staticfiles,script中设置一个src="{% static ‘jquery-1.12.4.js’ %}"知道样式表的来源
STATICFILES_DIRS = (
os.path.join(BASE_DIR,"blog/static"),
)
详细的讲一下这个return
return render(req,"time_show.html",{"time":t})
第三项是传入到第二项,其中的req,是实例参数
但是若传入的变量太多,将第三项的字典去掉
return render(req,"time_show.html",locals())