Django相关的命令:
1.下载安装Django
pip install django==1.11.28 -i 源
2.创建Django项目:
django-admin startproject 项目名
3.启动项目,需要切换到项目根目录下
python manage.py runserver
python manage.py runserver 80
python manage.py runserver 0.0.0.0:80
4.创建app
python manage.py startapp app名
5.创建数据库迁移命令
python manage.py makemigrations #记录数据变更
python manage.py migrate #将变更同步到数据库
setting.py的相关配置
1.BASE_DIR 项目的更目录 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(_ file_)))
优点:当迁移或者复制整个项目时。该项目仍然可以运行。
2.INSTALLED_APPS 注册的app
3.MIDDLEWARE 中间件
注释掉csrf的中间件,之后才可以提交post请求。
4.TEMPLATE 模板
存放的是html文件
指定模板所在的位置:‘DIRS’: [os.path.join(BASE_DIR),‘templates’],
5.DATABASE 数据库
6.static 静态文件
STATIC_URL = “/static/” #静态文件夹STATICFILES_DIRS的一个别名。这个别名用在程序中方便
STATICTILES_DIRS = [
os.path.join(BASE_DIR,“static”) #这里的这个static才是项目中的文件夹的名称。上面的是用在程序中的别名。
]
Django使用mysql数据库流程
1.创建一个mysql的数据库 create database bookManager;
2.在settings.py 中的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bookManager',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': "root",
"PASSWORD": "root",
}
}
3.使用pymysql模块连接mysql数据库
在与项目同名的文件夹下的_ init_.py中写入:
import pymysql
pymysql.install_as_MySQLdb()
4.在app下的models.py中写入model(Model):
from django import models
#model模型都需要继承models.Model这个类。
class User(models.Model): #对应于msyql数据库中的表名叫做 app名_user(默认)
#自动生成主键
username = models.CharFiled(max_lenth = 32)
5.执行数据库迁移的命令:
python manage.py makemigrations #记录数据变更
python manage.py migrate #将变更同步到数据库
URLS.py 路径和函数的对应关系
函数是写在了view.py中了
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^publisher_list/', views.publisher_list),
url(r'^publisher_add/', views.publisher_add),
url(r'^publisher_del/', views.publisher_del),
url(r'^publisher_update/', views.publisher_update),
]
view.py 函数文件夹
from django.shortcuts import render, HttpResponse, redirect
def xxx(request):
request.method
request.GET #以字典的方式返回get提交的数据,并且可以通过get()方法获得
request.GET.get("key")
request.POST #以字典的方式返回post提交的数据,并且可以通过get()方法获得
request.POST.get("Key")
#业务逻辑
return
#1.返回一个字符串: return HttpResposne("你好!!!")
#2.返回render包装的html页面: return render(request,"(模板的文件名)xxx.html",{字典:渲染页面的一些信息})
#3.返回重定向(项目中的路径或者网络地址): return redirect("地址")
form表单,使用注意3点
1.form表单的两个重要属性action,method
2.要有数据框input
3.有一个提交按钮button 或者是 input标签当input标签的type属性必须是submit
<form action = "" method = "post/get">
<input name = "name" value = "" readonly>
<submit>提交</submit>
<input type = "submit">
</form>
ORM:对象关系映射。通过操作类和对象的方式来操作数据库
1.创建对象,执行数据迁移以后就会在数据库中生成对相应的表
from django.db import models
#类--表
#对象--记录
#属性--字段
class User(models.Model):
username = models.CharField(max_length=32) #models.CharFiled对应数据库中的varchar类型
passwd = models.CharField(max_length=32) #models.CharFiled对应数据库中的varchar类型
2.查询操作
from app01 import models
models.User.object.all() #查询User这张表中的所有数据,返回结果是一个 对象列表(QuerySet)
models.User.object.get(pk = "",username = "" ) #查询返回一个数据 一个User对象
models.User.object.filter(pk = "",username = "" ) #返回多个结果 返回结果是一个 对象列表(QuerySet)或者是空列表
3.添加操作
models.User.object.create(username="wang") #向user表中添加一条username="wang"的数据,返回结果是一个User对象。id自增
4.删除操作:查询出来直接删除
models.User.object.get(pk = "",username = "" ).delete() #删除一个对象
models.User.object.filter(pk = "",username = "" ).delete() #删除多个对象
5.修改操作
user_obj = models.User.object.get(pk = "",username = "" )
user_obj.username = "xxx"
user_obj.save()#提交到数据库
模板语法
#render可以完成对template的渲染。
return render(request,".html",{ "message_error" : "出错信息!!!"})
#在html中使用渲染信息定义的变量
{{ message_error }}
#html中代码的语法
{% %}
{% for i in user_list %}
{{ forloop.counter }}
{{ i.username }}
{%endfor%}
本文详细介绍了使用Django搭建图书管理系统的步骤,包括Django命令的使用、settings.py配置、数据库设置、URL路由、视图函数、表单处理及ORM操作。重点讲解了如何配置Django使用MySQL数据库,以及模板语法的应用。
3199

被折叠的 条评论
为什么被折叠?



