• Django 学习之基础


    Python三大主流web框架:
    
    Django:大而全,自带了很多功能模块。类似于航空母舰,缺点是有点笨重。
    
    Flask:短小精悍,自带的功能模块特别少,大部分依赖于第三方模块
    
    Tornado:异步与非阻塞 主要用在处理高IO 、多路复用的情况,常用于游戏后端
    
    
    三者的共同结构:
    
    a: socket
    b:  路由与视图函数
    c:  模板渲染
    
    
    Django:
                a用的别人的 wsgiref
    	    b自己写的
    	    c自己写的
    
    Flask:
    	    a用的别人的 werkzeug
    	    b自己写的
    	    c用的别人的 jinja2
    
    Tornado:
    	a,b,c都是自己写的
    

      

    使用Django过程中需要注意的小点:
    
    1、计算机的名称不能有中文,如果存在,可以通过更改计算机设置来修改
    2、一个pycharm窗口就是一个项目,不要将多个项目放在一个窗口里面
    3、Django项目名不能起中文名    主要是考虑到编码过程中出现乱码的情况
    

      

    Django 下载
    
    建议下载含有LTS版本的Django,该类版本支持更新并且提供技术帮助!
    
    
    下载方式:
    
    方式一:
        在pycharm里通过settings里直接下载,建议下载带有LTS版本的
    
    方式二:
        在终端通过命令行下载:
            pip install django==1.11.11      //此处的pip是配置好的python3下的pip
    
    此处若下载过Django版本,再次下载会自动覆盖上次的版本,因此无需烦恼如何卸载。
    同时需要注意,python3.7版本会和Django1.11版本起冲突,需要在一处做出修改即可,即将红框内一段代码
    后的逗号去除即可!

     

    当下载完成后,可以试试验证是否下载成功。
    
    在终端里输入:
        django-admin
    创建Django项目
    
    
    方式一:在终端里输入命令行
    
    创建django项目:
        django-admin startproject  项目名称
    
    创建app应用:
        python manage.py startapp app01
      python ../../manage.py startapp app02 # 如果app与manage之间差两档 启动django项目: python manage.py runserver 当创建完毕以后,是不会自动创建 templates 文件夹,自己手动创建后,此时还需将该文件夹路径添加到配置文件中,通过settings里的 TEMPlATES 将 'DIRS' 补全即可! 方式二:在pycharm里创建 创建django项目: FILE >>> new project >> django ,此时需要注意名字中不能存在中文,还要选择本地的python解释器,勾选后台管理 创建app应用: 方式1: 通过pycharm命令行创建 python manage.py startapp app01 方式2: 在Tool下的run manage task 功能栏 中选定以后,在弹出框输入 startapp app02 启动django项目: 点击小绿色箭头 补充点:使用django过程中,一定要保证 只要一个项目在运行,还需要清楚浏览器的缓存!

     

    app的概念:
    
        一个django可以当成一所学校,app是其中的学院
    
    
    新创建的app需要手动在配置文件中完成注册才能生效。
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'app01.apps.App01Config'   //此时也可以用简写: app01
    
    最好一个app创建后就先去注册
        
    

      

    Django 中各个文件的作用
    
    应用名(创建的app下)
    
            migrations  数据库迁移记录相关数据
    	admin.py   	django后台管理相关
    	models.py   模型表相关
    	views.py   	视图函数相关  
    
    项目名(创建的项目下)
    
            settings.py  配置文件
            urls.py        路由与视图函数的映射关系
            templates    项目用到的所有html文件
            manage.py  django项目入口文件
        
    

      

    Django三板斧   
    
    from django.shortcuts import render,HttpResponse,redirect
    
    HttpResponse  返回字符串
    render             返回一个html页面
    redirect            重定向
    
    from django.shortcuts import render,HttpResponse,redirect
    
    # Create your views here.
    
    
    def index(request):
        return HttpResponse('hello world')
    
    def reg(request):
        user_dic = {'name':'michael','password':'123'}
        return render(request, 'reg.html', locals())
        #locals()  会将函数内部的变量名传给html文件 reg.html
    
        #另外一种传值的方式
        #return render(request,'reg.html',{'user_dict':user_dict})
    
    
    def login(request):
        return redirect('https://www.baidu.com')
    
    
    
    django 可以识别到代码的变化后自动更新,但是有时反映比较慢,可以手动重启,也可以刷新浏览器
    

      

      

     

  • 相关阅读:
    9.2模拟题解
    NOI1995 石子合并
    NOIP2012 借教室
    织梦内页读取栏目banner图
    mysql数据库版本引发的问题
    简单修改hosts文件加快打开网页速度
    详细剖析电脑hosts文件的作用和修改
    内部标签样式
    织梦让当前的子栏目拥有特殊的样式
    织梦获取单个顶级栏目名
  • 原文地址:https://www.cnblogs.com/changwenjun-666/p/10981707.html
Copyright © 2020-2023  润新知