下载安装

  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 写函数和功能

Django的下载与使用基础的更多相关文章

  1. Django学习系列之Form基础

     Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...

  2. Django的下载与项目的创建

    一.Django的下载安装 Django官网下载页面 二.DOS窗口下的django项目从创建和启动 1. DOS窗口下载Django pip3 install django==1.11.9 2.DO ...

  3. django 中下载文件与下载保存为excel

    一.django 中下载文件 在实际的项目中很多时候需要用到下载功能,如导excel.pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍dja ...

  4. Django的下载与创建。

    一.下载 (1)下载命令. 在cmd中输入下载命令: pip3 install django==1.11.11 1.11.11是该版本号. (2)pycharm中下载 直接在pycharm中下载set ...

  5. django的下载安装,目录结构的介绍,简单的django应用

    1.django的下载安装 pip3 install django==1.11.9 2.django的创建 1.在windows的cmd窗口下 1.1创建django项目 django-admin s ...

  6. [Django]模型学习记录篇--基础

    模型学习记录篇,仅仅自己学习时做的记录!!! 实现模型变更的三个步骤: 修改你的模型(在models.py文件中). 运行python manage.py makemigrations ,为这些修改创 ...

  7. Django 之 下载文件

    法I: views.py #encoding:utf-8 import os from django.core.servers.basehttp import FileWrapper from dja ...

  8. 第一步 django的下载安装

    django是python众多web框架中比较有名的一个,以大包大揽功能俱全而著名.但作为重量级的web框架,难免性能上回有所损失,不过由于其封装了各种API,在开发的时候会便利许多.所以也是深受欢迎 ...

  9. ubuntu下Django的下载与安装(三种方法)

    方法一: 1下载: 1 安装python,Linux系统下,一般是安装好的,可以输入如下命令查看 python -V 如果没有安装,则需要安装,安装方法如下,首先从官网下载源码,然后: (1) $ t ...

随机推荐

  1. Js基础知识(五) - 前端性能优化总结

    前端性能优化总结 资源优化 缓存 最好的资源优化就是不加载资源.缓存也是最见效的优化手段.说实话,虽然说客户端缓存发生在浏览器端,但缓存主要还是服务端来控制,与我们前端关系并不是很大.但还是有必要了解 ...

  2. [BZOJ 1095] [ZJOI2007]Hide 捉迷藏——线段树+括号序列(强..)

    神做法-%dalao,写的超详细 konjac的博客. 如果觉得上面链接的代码不够优秀好看,欢迎回来看本蒟蒻代码- CODE WITH ANNOTATION 代码中−6-6−6表示左括号'[',用−9 ...

  3. BZOJ 2946 [Poi2000]公共串 (二分+Hash/二分+后缀数组/后缀自动机)

    求多串的最长公共字串. 法1: 二分长度+hash 传送门 法2: 二分+后缀数组 传送门 法3: 后缀自动机 拿第一个串建自动机,然后用其他串在上面匹配.每次求出SAM上每个节点的最长匹配长度后,再 ...

  4. pytorch 图片处理.md

    本篇所有代码位置链接

  5. vue cli3 + cube-ui 配置rem踩坑记录

    在install cube-ui时,选择了后编译,选中使用rem的时候会发现,怎么刷新页面的html字体被设置成了37.5px 感觉太大了,于是去寻找修改的办法,第一反应是webpack的配置,于是去 ...

  6. removeAttr(name)

    removeAttr(name) 概述 从每一个匹配的元素中删除一个属性 1.6以下版本在IE6使用JQuery的removeAttr方法删除disabled是无效的.解决的方法就是使用$(" ...

  7. BZOJ 1406: [AHOI2007]密码箱 exgcd+唯一分解定理

    推出来了一个解法,但是感觉复杂度十分玄学,没想到秒过~ Code: #include <bits/stdc++.h> #define ll long long #define N 5000 ...

  8. AcWing:109. 天才ACM(倍增 + 归并排序)

    给定一个整数 MM,对于任意一个整数集合 SS,定义“校验值”如下: 从集合 SS 中取出 MM 对数(即 2∗M2∗M 个数,不能重复使用集合中的数,如果 SS 中的整数不够 MM 对,则取到不能取 ...

  9. JavaWeb-SpringSecurity在数据库中查询登陆用户

    系列博文 项目已上传至guthub 传送门 JavaWeb-SpringSecurity初认识 传送门 JavaWeb-SpringSecurity在数据库中查询登陆用户 传送门 JavaWeb-Sp ...

  10. MySQL_(Java)【连接池】简单在JDBCUtils.java中创建连接池

    MySQL_(Java)[事物操作]使用JDBC模拟银行转账向数据库发起修改请求 传送门 MySQL_(Java)[连接池]使用DBCP简单模拟银行转账事物 传送门 Java应用程序访问数据库的过程: ...