阅读目录

  1. 安装
  2. 创建项目
  3. 运行
  4. 文件配置的说明
  5. 三个组件

一、安装(安装最新LTS版)

Django官网下载页面

根据官方的图版本,我们下载1.11版本的,最好用!

有两种下载方式一种直接cmd里:

pip3 install django==1.11.11

 PS:说有命令不存在的童鞋可以去面壁了,环境变量的问题我们就不说了,自己去找度娘搞定

第二种就是在pycharm里装,又方便又快捷:

下载好之后,就是创建项目了!

二、创建一个django项目

下面的命令创建了一个名为"mysite"的Django 项目:

django-admin startproject mysite

ps:出现命令不存在的小伙伴,自己去面壁。。。

还有一种就是pycharm创建项目:

①、

②、

③、

创建好之后,我们看到的是下面的目录结构:

目录介绍:

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

文件的具体详解:(官方文档地址

  1. 外层 mysite/ 目录只是你项目的一个容器。对于 Django 来说该目录名并不重要; 你可以重命名为你喜欢的。
  2. manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 你可以在 django-admin.py and manage.py 中查看关于 manage.py 所有的细节。
  3. 内层 mysite/ 目录是你项目中的实际 Python 包。该目录名就是 Python 包名,通过它你可以导入它里面的任何东西。 (e.g. import mysite.settings).
  4. mysite/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。(如果你是 Python 新手,请查看官方文档了解 关于包的更多内容 。)
  5. mysite/settings.py: 该 Django 项目的设置/配置。请查看 Django settings 将会告诉你如何设置。
  6. mysite/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站“目录”。请查看 URL dispatcher 可以获取更多有关 URL 的信息。
  7. mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。请查看 How to deploy with WSGI 获取更多细节。

三、运行Django项目

python manage.py runserver         #127.0.0.1:8000 默认的ip和端口
python manage.py runserver 127.0.0.1:8000   #随意的ip和端口都可以自定义

PS:看到这个又有同学命令不存在!!!

不怕还有简单方法:

四、配置文件的说明

模板文件配置:

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, "template")], # template文件夹位置
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

静态文件配置:

STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"), # 静态文件存放位置
]

看不明白?有图有真相:

刚开始学习时可在配置文件中暂时禁用csrf中间件,方便表单提交测试

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',
]

五、Django基础必备三个组件:

from django.shortcuts import HttpResponse, render, redirect

HttpResponse

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

例如:

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

render

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

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

例如:

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

redirect

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

例如:

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

重定向是怎么回事?

启动Django报错:

Django 启动时报错 UnicodeEncodeError ...

报这个错误通常是因为计算机名为中文,改成英文的计算机名重启下电脑就可以了。

Django 启动报错“SyntaxError: Generator expression must be parenthesized”

报这个错很大可能是因为使用了Python3.7.0,而目前(2018-06-12)Python3.7.0和Django还有点兼容性问题,换回Python3.6的环境即可。

最新文章

  1. Android之常见问题集锦Ⅰ
  2. SDDC-SDN-SDS
  3. iOS block 的底层实现
  4. [转]iptables详解
  5. PHP 系统常量及自定义常量
  6. 【转】数据库SQL优化大总结之 百万级数据库优化方案
  7. i++和++i的老问题
  8. windows phone 8的新特性
  9. js-txt文本处理
  10. Java IO(1)基础知识——字节与字符
  11. echarts 页面对应更改
  12. 时序扩展的UML状态图的测试用例生成研究
  13. word之常用功能
  14. 补码的来源以及为什么byte的最小值是-128
  15. Django项目实战 - html中用户登录判断
  16. MS08_067漏洞渗透攻击实践
  17. Linux 网络命令找不到
  18. 2015年传智播客JavaEE 第168期就业班视频教程17-登录功能业务逻辑实现(代码)
  19. MySQL中多表删除方法
  20. MySQL != 失效

热门文章

  1. [fzu 2282]置换不动点大于等于k的排列数
  2. E. Intercity Travelling
  3. Tile Cut~网络流入门题
  4. Join an instance to my AWS Directory Service domain
  5. bzoj4759 [Usaco2017 Jan]Balanced Photo
  6. 04-plis属性列表
  7. 谈数据中心SDN与NFV
  8. Swift学习三
  9. TimeUnit 笔记
  10. mysql数据库设计之物理设计