Django 笔记2 – Django 入门


Django 系列笔记是笔者学习、实践使用 Django 的相关笔记,大量参考了知了课堂的《Django零基础到项目实战》教程。

参考文档:
Django官方文档(英文)
Django 中文文档


一、使用 Django


1、命令行方式(cmd)

创建项目(project):

# 切换终端的路径到想要创建项目的地方
cd ....# 格式
django-admin startproject [项目名称]# 示例
django-admin startproject first_project

创建应用(app): app 是 django 项目的组成部分,一个app代表项目中的一个模块

# 首先需要在终端进入到项目所在的路径
cd first_project# 格式
python manage.py startapp [app名称]# 示例
python manage.py startapp first_app

运行项目:

# 首先需要在终端进入到项目所在的路径# 运行项目,端口号默认为 8000
python manage.py runserver # 指定端口号为 5000
python manage.py runserver 5000# 之后在浏览器输入 127.0.0.1:5000 就可以访问了

2、PyCharm 方式

需要使用 PyCharm 专业版

创建项目(project):

创建应用(app): 在菜单栏的 Tools 中选择 Run manage.py Task

# 在出现的控制台内输入命令,命令前面不需要加 python manage.py
startapp first_app

运行项目:

点击三角号即可运行项目

点击Edit Config 可设置运行项目的配置信息。

局域网访问:

  • Host 设为 0.0.0.0
  • 需要在 setting.py 文件中设置 ALLOWED_HOSTS = [‘服务器ip地址’]
  • 浏览器输入 服务器ip地址:端口号 即可访问

二、Django 项目


创建了一个名为 first_project 的 Django 项目,并创建了一个名为 index 的 app

1、项目结构


项目文件: 配置项目信息,管理项目

  • first_project 模块

    • settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面
    • urls.py:这个文件是用来配置 URL 路由,映射 URL 到视图函数中
    • wsgi.py:项目与 WSGI 协议兼容的 web 服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的
  • manage.py:和项目的交互,通过在终端输入 python manage.py [子命令] 进行交互,输入python manage.py help 查看可用命令,一般情况下不应该编辑这个文件。

app 文件: 在 app 名称的模块下,处理请求

  • migrations:用来存储 ORM 模型映射到数据库的迁移脚本文件
  • models:ORM模型,对应于数据库的表
  • views:视图函数,用来处理不同的 URL

2、URL 映射基础

URL 映射配置: 在 urls.py 的 urlpatterns 列表中配置

# 如果需要配置 URL 映射,需要导入相关的视图文件
from front import viewsurlpatterns = [# 默认的 URL 映射,后台管理入口# 如果只有默认的 URL 映射,Django 会提供一个默认的主页path('admin/', admin.site.urls),# 自己配置 URL 映射,即把首页映射到,并且可以给该 URL 取个别名path('', views.index, name='index'),
]

3、视图函数基础

视图函数用来响应URL的请求,并且相应给出回复。视图函数必须有一个 request 参数,即请求信息。

返回字符串:

from django.http import HttpResponsedef index(request):# 字符串包装成HttpResponse对象返回return HttpResponse("这是首页")

返回HTML文件:

from django.template.loader import render_to_string
from django.http import HttpResponse
def book_detail(request,book_id):# 将模板编译后渲染成Python的字符串格式后,再包装成HttpResponse对象html = render_to_string("detail.html")return HttpResponse(html)
from django.shortcuts import render
def book_list(request):# 直接将模板渲染成字符串并包装成HttpResponse对象return render(request,'list.html')

GOOD LUCK!


Django 笔记2 -- Django 项目相关推荐

  1. Django笔记(Django上传头像)

    1.写一个对应的model (TmageField) 实例: from django.contrib.auth.models import AbstractUser from django.db im ...

  2. Django笔记总结

    1.web框架的本质 web通信流程 web我们这里指的就是通过浏览器去访问服务端,请求页面或者数据的通信方式,属于B/S架构.就是我们常见的网站.浏览器与服务端的通信流程:浏览器客户端发送一个请求信 ...

  3. 基于Django的商城开发项目笔记(一)

    基于Django的商城开发项目笔记(一) 一.环境搭建 1.安装Python:去Python官网下载最新版本Python进行安装,安装时记得勾选将Python加入系统环境变量 2.在命令行输入pip ...

  4. Django前端开发:项目笔记及链接

    下面的内容都是亲身实践得到,这里仅作记录. 参考B站视频理解Django 好评如潮Python Django全套教程,手把手教你从0搭建网站,带项目实战,学完可接单 记录一下,后面可待改进: 数据库员 ...

  5. Django 笔记6 -- 多表查询

    Django 笔记6 – 多表查询 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Djang ...

  6. Django 笔记5 -- 数据库

    Django 笔记5 – 数据库 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Django ...

  7. Django 笔记4 -- 模板

    Django 笔记4 – 模板 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Django官 ...

  8. Django 笔记3 -- URL

    Django 笔记3 – URL Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Django ...

  9. Django 笔记1 -- 环境搭建

    Django 笔记1 – 环境搭建 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Djang ...

最新文章

  1. 伪激光雷达:无人驾驶的立体视觉
  2. 关于ACE_Svc_Handler
  3. 洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party
  4. PHP5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
  5. php 表格分页代码,[Php]分页及表格样式
  6. csuoj 1355: 地雷清除计划
  7. SharePoint Server 2016 部署安装(七)—— 配置SharePoint Server
  8. MEF体验使用接口导出的优越性
  9. Spark服务启动的一些总结
  10. linux c 进程池 简单实现
  11. Dhtmlx Gantt中lightbox如何自定义name值
  12. oracle 10g初次使用用户名
  13. 微信小程序之店铺评分组件及vue中用svg实现的评分显示组件
  14. python制作二维码生成器3.0
  15. 吉利有后手,魅族没有
  16. [唐诗]古风(其十九)-李白
  17. UR机械臂学习(7-1):MoveIt简单编程实现机械臂运动(正逆运动学)
  18. Chronometer实现计时器 开始、暂停、停止功能
  19. 计蒜客习题:帕吉的肉钩
  20. linux软中断是什么机制,Linux软中断原理浅析

热门文章

  1. 建立集群间ssh信任关系
  2. PAT 甲级 1027 Colors in Mars
  3. Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
  4. ajax跨域请求问题
  5. wordpress常用插件汇总
  6. 7kyu Exes and Ohs
  7. emberjs重写补充类之reopen方法和reopenClass方法
  8. C语言#line预处理器
  9. 转:C# Thread
  10. Qomolangma实现篇(四):基本特性增强与多投事件系统