Python Django 框架 01

1. 以新闻内容为主的网站-Django。CMS

  1. 查看django官方网站
  2. 查看django源码
  3. 查看中文文档
  4. 对于Django框架遵循MVC设计,并且有个专用名字:MVT。

model 只适用于关系型数据库。

建议使用谷歌浏览器。

  1. Django环境配置
    1. python 环境

因为Django是需要Python的环境,所以首先下载python,我这里使用的Anaconda 安装的python。

使用Anaconda安装python可以看这篇博客:pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch

python --version

2. Django环境

需要安装全局Django

pip install django

查看版本

python -m django --version

  1. 创建Django项目
    1. 创建项目door_web_django_system

进入到你想要创建django项目的路径,door_web_django_system代表你的项目名,输入命令

django-admin startproject door_web_django_system

    1. 运行启动

进入到 door_web_django_system 项目,

cd door_web_django_system

运行项目

python manage.py runserver

按照上面爆红的提示执行命令

python manage.py migrate

然后再次执行运行命令

python manage.py runserver,结果如下:

浏览器打开http://localhost:8000/如下所示,代表Django项目创建并运行成功

3. Django项目介绍

  1. 介绍Django项目结构

(记得从终端中把项目关闭,后面可以从pycharm的终端中启动,比较方便)

首先使用pycharm打开。

找到设置,配置python环境,我的如下图所示

项目下面有个主包,和项目名同名,这里一般主要作为项目的配置包,不在这里写业务逻辑。

  1. 第一个helloword

主包中创建 views.py,内容如下

from django.http import HttpResponse def hello_world(request): return HttpResponse("Hello, World!")

urls.py 中内容如下:

from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path("admin/", admin.site.urls), path('hello/', views.hello_world) ]

运行项目,在浏览器输入http://localhost:8000/hello/,返回的字符串helloword如下所示,这样一个web服务器搭建好啦

  1. django的项目逻辑(和java对标)
  • urls.py: 存放的是项目对外暴露的url请求,对应于java项目的controller层
  • views.py: 存放的是项目的业务逻辑层和操作数据库,对应于java项目的services和dao层。
  • models.py:存放的是对象实例,对应于mysql的表,Django中可以通过models中的对象类自动创建mysql中的表。对应于java中的bean,POJO类。

4. 创建Django应用

介绍

主包是和项目同名的一个包,一般只用来做配置使用。

一般会创建其他的包,然后主要写业务逻辑。

创建应用app01

进入djangoDemo目录,运行命令:(使用pycharm,可以在终端直接执行命令)

python manage.py startapp app01

然后需要在主包的 setting.py 中挂载刚刚创建的应用 app01

如果不挂载,在后面执行命令 python manage.py makemigrations时,会出现如下问题。该命令的使用时在第二章里学习使用。

app01的helloword

  1. app01中的views.py

from django.shortcuts import render from django.http import HttpResponse def hello_world(request): return HttpResponse("app01 Hello, World!")

  1. app01中的 urls.py

from django.urls import path from . import views urlpatterns = [ path('hello/', views.hello_world) ]

  1. 主包中的 urls.py 增加了最后一行。

from django.contrib import admin from django.urls import path, include from . import views urlpatterns = [ path("admin/", admin.site.urls), path('hello/', views.hello_world), path('app01/', include('app01.urls')) ]

  1. 运行项目python .\manage.py runserver,浏览器运行下面两个url地址。

http://localhost:8000/hello/

http://localhost:8000/app01/hello/。截图如下,说明应用创建成功。

相关推荐
好家伙VCC2 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
前端玖耀里3 小时前
如何使用python的boto库和SES发送电子邮件?
python
serve the people3 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
小天源3 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
喵手4 小时前
Python爬虫实战:HTTP缓存系统深度实战 — ETag、Last-Modified与requests-cache完全指南(附SQLite持久化存储)!
爬虫·python·爬虫实战·http缓存·etag·零基础python爬虫教学·requests-cache
喵手4 小时前
Python爬虫实战:容器化与定时调度实战 - Docker + Cron + 日志轮转 + 失败重试完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·容器化·零基础python爬虫教学·csv导出·定时调度
2601_949146534 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
寻梦csdn5 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
Java面试题总结6 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
不懒不懒6 小时前
【决策树算法实战指南:从原理到Python实现】
python·决策树·id3·c4.5·catr