zoukankan      html  css  js  c++  java
  • Django的下载与使用基础

    下载安装

    1. 命令行

      pip3 install django==1.11.23 -i https://pypi.tuna.tsinghua.edu.cn/simple 
    2. pycharm

      file -- > settings --> Project Interpreter --> + --> 选择响应的版本下载  

    创建项目

    1. 命令行

      先建立好本地文件夹,然后再本文件夹下执行 django-admin startproject  项目名称

    2. pycharm

      flie ---> new_project ---> django --->项目路径 --->选解释器

    目录说明

     mysite/
     ├── manage.py  # 管理文件,整个Django项目的启动文件
     └── mysite  # 项目目录
        ├── __init__.py
        ├── settings.py  # 配置
        ├── urls.py  # 路由 --> URL和函数的对应关系
        └── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server

    启动项目

    1. 命令行

      【注意**】切换到项目根目录  
      
      python manage.py runserver # 127.0.0.1:8000  默认
      python manage.py runserver 80 # 127.0.0.1:80  修改端口
      python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80 修改IP和端口允许所有主机通过80端口进行访问
    2. pycharm

      点绿三角启动带有dj标记的项目,不是简单的右键运行文件

    三件套

    导入
    from django.shortcuts import HttpResponse, render, redirect

    HttpResponse

    内部传入一个字符串参数,返回给浏览器。

     def index(request):
        # 业务逻辑代码
        return HttpResponse("OK")

    render

    除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

    将数据填充进模板文件,最后把结果返回给浏览器。

     def index(request):
        # 业务逻辑代码
        return render(request, "index.html", {"name": "alex", "hobby": ["烫头", "泡吧"]})

    redirect

    接受一个URL参数,表示跳转到指定的URL。

     def index(request):
        # 业务逻辑代码
        return redirect("/home/")

    简单使用

    urls.py写url 和函数的对应关系 写函数

     from django.shortcuts import HttpResponse, render
     ​
     def index(request):
        return HttpResponse('这里是index')   # 返回字符串
     ​
     def home(request):
        return render(request, 'home.html')   # 返回html页面
     ​
     urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index/', index),   # 路径和函数的对应关系
        url(r'^home/', home),
     ]

    静态文件配置

    在项目根目录存放静态文件夹,静态文件夹下可以存放css、js、img等项目中公用的静态文件或是文件夹。如果不想用 STATICFILES_DIRS 可以不用,都放在 app 里的 static 中也可以。

     在settings.py中设置
     ​
     STATIC_URL = '/static/'  # 别名,引入静态文件时以static开头,这里的static不是代表的目录
     ​
     STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
     ]
     ​
     【举例】
     STATICFILES_DIRS = [               #按照列表的顺序进行查找
        os.path.join(BASE_DIR, 'x1'),
        os.path.join(BASE_DIR, 'static'),
        os.path.join(BASE_DIR, 'x2')
     ]  

    静态文件

    MIDDLEWARE中间件

    如果是提交post请求,注释掉settings.py下的MIDDLEWARE属性的csrf中间件 'django.middleware.csrf.CsrfViewMiddleware',用改解决请求时出现403 错误

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
     ]

    TEMPLATES模板路径设置

    settings.pyTEMPLATES属性中,设置公用temples路径,是指到 BASE_DIR/templates文件夹中去取模板

     TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')]  #是指到  BASE_DIR/templates文件夹中去取模板
            ,
     ]

    后边接触到app后,还可以在app中建立templates,是app专用的。

    登录表单设置

    form表单

    1. action 提交的地址,默认是往本地址提交数据 ;method 请求方法,默认是get,如果是实现认证功能的话,需要手动改成post

    2. input 需要有name ,用于提交数据时数据以可知的键值对方式传输,便于进行数据处理;required=""表示是必填项

    3. submit 提交的按钮或者input

    4. 前端校验,在form标签中使用 novalidate 

    5. django 中可以在函数中使用request.method从看看浏览器提交的请求方式;使用request.POST可以获取form提交的数据,获取的是一个字典

    6. 重定向:从 django.shortcuts中导入redirect ,让请求的页面跳转到其他指定的页面。 redirect("https://cn.bing.com") 跳转到指定的网页; redirect("/home/") 跳转到本地的页面,前边的/必须要写,不然会加到前边的地址上;

    前端模板

    APP

    将urls.py中定义的功能分类存放

    新建APP

    命令行:

    python manage.py startapp app名称

    pycharm中:

    tools --> run manage.py task --> startapp app名

    注册APP

    在settings中进行注册

     INSTALLED_APPS = [
        'app01',  # 方法一
        'app01.apps.App01Config',  # 推荐写法
     ]

    在urls.py中导入

    从app中把函数或者功能导入到urls.py中

    from app01 import views

    目录

    migrations文件夹存放迁移文件用

    admin.py django admin

    apps.py app的信息

    models.py 模型 model 跟数据库有关

    views.py 写函数和功能

    仅供参考,欢迎指正
  • 相关阅读:
    Mapreduce实例-Top Key
    Mapreduce实例-分组排重(group by distinct)
    storm0.9.0.1升级安装
    mysql配置文件my.cnf详解
    MYSQL管理之主从同步管理
    一个经典实用的iptables shell脚本
    sed实例精解--例说sed完整版
    常用的主机监控Shell脚本
    Python(九)Tornado web 框架
    缓存、队列(Memcached、redis、RabbitMQ)
  • 原文地址:https://www.cnblogs.com/jjzz1234/p/11438309.html
Copyright © 2011-2022 走看看