欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  一、安装及使用
 
  下载安装
 
  命令行: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