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/。截图如下,说明应用创建成功。

相关推荐
阿蔹16 分钟前
JavaWeb-Selenium 配置以及Selenim classnotfound问题解决
java·软件测试·python·selenium·测试工具·自动化
万粉变现经纪人34 分钟前
如何解决 pip install 代理报错 407 Proxy Authentication Required 问题
windows·python·pycharm·beautifulsoup·bug·pandas·pip
李剑一1 小时前
Python学习笔记3
python
luod1 小时前
Python包
python
Mr Lee_1 小时前
Smali 文件生成dex装箱算法整合
开发语言·python·算法
电饭叔1 小时前
《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之一(Luhn算法解释)
android·java·python
小女孩真可爱2 小时前
大模型学习记录(八)---------RAG评估
linux·人工智能·python
刘晓倩2 小时前
Python3的Sequence
开发语言·python
ZhengEnCi2 小时前
一次多线程同步问题的排查:从 thread_count 到 thread.join() 的踩坑之旅
python·网络协议·tcp/ip
ULTRA??2 小时前
ROS Action 完整示例(AI辅助):客户端发目标 + 服务器接参数(lambda 替代 boost::bind)
c++·python