一、安装及使用
下载安装
命令行:pip3installdjango==1.11.21
pycharm
创建项目
命令行:
找一个文件夹存放项目文件,打开终端:
django-adminstartproject项目名称
项目目录
pycahrm
启动
命令行
切换到项目的根目录下manage.py
python36manage.pyrunserver——127.0.0.1:80`
python36manage.pyrunserver80——127.0.0.1:80
python36manage.pyrunserver0.0.0.0:80——0.0.0.0:80
pycharm:点绿三角启动可配置
简单使用
示例:返回HTML指定文件
#在urls.py中
#导入
fromdjango.shortcutsimportHttpResponse,render
?
#函数
defindex(request):
#returnHttpResponse('index')
returnrender(request,'index.html')
?
#url和函数对应关系
urlpatterns=[
url(r'^admin/',admin.site.urls),
url(r'^index/',index),
]
二、静态文件
配置
在settings.py中设置
STATIC_URL='/static/'#别名
STATICFILES_DIRS=[#设置文件路径,可以设置多个
os.path.join(BASE_DIR,'static1'),
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static2'),
]
使用
在路径前添加别名:/static/
多个文件路径,也是使用同一个别名,不是文件名
如果别名后的路径名相同,按照STATICFILES_DIRS列表的顺序进行查找
<linkrel="stylesheet"href="/static/css/login.css">{#别名开头#}
三、简单的登录实例
form表单提交数据注意的问题:
提交的地址:action="",请求的方式:method="post"
所有的input框有name属性,如name="username"
有一个input框的type="submit"或者有一个button
提交post请求,由于Django中有一个csrf校验,所有请求会出问题
解决方式:把settings中MIDDLEWARE的'django.middleware.csrf.CsrfViewMiddleware'注释掉
重定向
导入:fromdjango.shortcutsimportredirect
使用方式
#在函数中使用,例如
returnredirect('/index/')#参数:路径url
#注意:前面必须加/,代表从url根拼接,否则就会在当前url后面一直拼接
fromdjango.shortcutsimportHttpResponse,render,redirect
?
defindex(request):
#returnHttpResponse('index')
returnrender(request,'index.html')
?
deflogin(request):
ifrequest.method=='POST':
#获取form表单提交的书籍
username=request.POST['username']
password=request.POST['password']
#验证用户名和密码
ifmodels.User.objects.filter(username=username,password=password):
#验证成功跳转到index页面
#returnredirect('https://www.baidu.com/')
returnredirect('/index/')
#不成功重新登录
returnrender(request,'login.html')
?
urlpatterns=[
url(r'^admin/',admin.site.urls),
url(r'^index/',views.index),
url(r'^login/',views.login),
]
示例
四、app
创建app
命令行:pythonmanage.pystartappapp名称
pycharm:tools-->runmanage.pytask-->输入命令:startappapp名称
注册app
在settings.py中设置,例:app名为app01
INSTALLED_APPS=[
...
'app01',
'app01.apps.App01Config',#推荐写法
]
app中的文件
migrations:存放迁移文件的
admin.py:Django提供的后台管理工具
app.py:与app信息相关的
models.py:跟ORM有关的内容
views.py:视图,写函数的
五、使用MySQL流程
创建一个MySQL数据库:createdatabaseday53;
在settings.py中设置,Django连接MySQL数据库:
DATABASES={
'default':{
'ENGINE':'django.db.backends.mysql',#引擎
'NAME':'day53',#数据库名称
'HOST':'127.0.0.1',#ip地址
'PORT':3306,#端口
'USER':'root',#用户
'PASSWORD':'123'#密码
}
}
在与settings,py同级目录下的init文件中写入:
importpymysql
pymysql.install_as_MySQLdb()
创建表(在app下的models.py中写类):
fromdjango.dbimportmodels
?
classUser(models.Model):
username=models.CharField(max_length=32)#usernamevarchar(32)
password=models.CharField(max_length=32)#usernamevarchar(32)
执行数据库迁移的命令:
pythonmanage.pymakemigrations:检测每个注册app下的model.py,记录model的变更记录
pythonmanage.pymigrate:同步变更记录到数据库中
六、MVC和MTV
MVC
M:model模型——和数据库打交道
V:view视图——HTML
C:controller控制器——调度传递指令业务逻辑
MTV:
M:model模型ORM——和数据库打交道
T:tempalte模板——HTML
V:view视图——函数业务逻辑
djando是MTV模式
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h54897.shtml