Python Web项目(Python3.6.9+Django2.0)

一、前言

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,模板 T 和视图 V。当然,网上也有人说 Django 采用了 MVC 的软件设计模式,即模型 M,视图 V 和控制器 C。由于我也是刚开始接触 Python Web,不好给大家解释其中的区别,给大家推荐一片文章:

浅谈 MVC、MTV 和 MVVM
理解 django 框架中的 MTV 与 MVC 模式
文章中有作者对 MVVM 的理解,随便看看就行了,虽然很重要但是现在我们还不需要理解这个内容,哈哈~~

前段时间一直在用 Python 练习爬虫,忽然想学学 Python Web,感觉 Django 这个 Web 框架很不错,学了几天,做一个 Demo 来记录一下。供后来人作为参考,作为 Django 入门学习。还请各位码友多多指教,如发现问题提出来,大家互相改进,互相提升。

二、开发环境

我的 Python 和 Django 版本:

Python3.6.9(你需要 Python3 及以上)
Django2.0(你需要 Django2.0 及以上)
Python 安装

Python 官网 Windows 版本 可能下载速度有点慢,慢慢等。不推荐安装最新版,坑多。

命令提示符中输入 python,查看已经安装的 python 版本
在这里插入图片描述

Django 安装

#安装最新版本的 Django
pip install  django
#或者指定安装版本(建议安装2.0版本)
pip install -v django==2.0

查看 Django 是否已经成功安装:

#查看 Django 版本
python -m django --version

到目前为止,基本环境已经搭建好了

Python 和 Django 版本对应表
在这里插入图片描述

小技巧:查看自己电脑中已经安装的 Python 包 pip list 和 pip freeze

三、开发步骤详解

1、项目创建
首先,进入命令行窗口,通过 cd 切换到自己的工作目录/home/ubuntu/

执行如下命令,可以创建一个项目名为 myweb 的 Django 项目:

django-admin startproject myweb

**注意:**有可能会遇到创建不成功的情况:Cannot find installed version of python-django or python3-django.
我另一篇文章有介绍:传送门
解决办法:sudo apt-get install python-django

这时,我们可以看到,在我的 /home/ubuntu/下目录下多出一个文件夹 myweb,表示项目创建成功。
文件夹内容结构如下:

2、启动 Django 服务
cd myweb 进入到 myweb 目录
执行如下命令:

python manage.py runserver

现在,Web 服务器已经成功启动,打开浏览器,在地址栏中输入:http://127.0.0.1:8000/
在这里插入图片描述

“127.0.0.1” 是指本地主机,8000 是默认的服务端口,可修改。也可以在地址栏输入 localhost:8000 访问项目。

注意:
这种方式只能在本机浏览器访问,比如要实现在windows电脑端或者服务器访问ubuntu服务器搭建的django Web项目,
要将**/home/ubuntu/myweb/myweb/setting.py中的ALLOWED_HOSTS = [ ] 改成 ALLOWED_HOSTS = [’*’]**

然后,将启动django服务命令:

python manage.py runserver

改成:

python manage.py runserver 0.0.0.0:8000

windows电脑端浏览器中输入Ubuntu服务器的IP+端口号(例如我的http://192.168.206.129:8000)即可访问

恭喜你,项目初步创建完成~
现在,我们来进行下一步操作。

3、创建 Django APP

在 Django 中的 APP 相当于一个功能模块,与其他的 Web 框架可能有很大的区别,将不同功能放在不同的 APP 中,方便代码的复用

下面我们来建立一个叫 「myapp」 的应用,保持命令提示符在 /home/ubuntu/myweb 目录下(有 mange.py 文件的 myweb 目录)。
首先退出刚刚启动起来的 Web 服务器(注:Ctrl+C 可以退出服务器),执行如下命令:

python manage.py startapp myapp

回车后 myweb 文件夹中多了一个 myapp 文件夹,这个就是我们刚创建的 APP:

myapp 中为我们创建了相关的应用文件,现在整个项目结构如下:
在这里插入图片描述

现在,我们再次启动 Web 服务器,执行命令:python manage.py runserver

测试访问本机的 admin,使用浏览器访问:http://127.0.0.1:8000/admin

在这里插入图片描述

(同理,python manage.py runserver 0.0.0.0:8000

测试访问的 admin,使用浏览器访问:http://192.168.206.129:8000/admin

1、在 myapp 目录下创建一个 templates 文件夹,并在该文件夹中创建一个 index.html 文件,用于展示的网页内容

模板文件夹 templates

index.html 文件内容如下(直接复制粘贴到你的 index.html 文件中即可):

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Hello,Django!</title>

  <style type="text/css">
    html {
      width: 100%;
      height: 100%;
      overflow: hidden;
      font-style: sans-serif;
    }

    body {
      width: 100%;
      height: 100%;
      font-family: 'Open Sans', sans-serif;
      margin: 0;
      background-color: #FF8080;
    }

    #login {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -150px 0 0 -150px;
      width: 300px;
      height: 300px;
    }

    #login h1 {
      color: #fff;
      text-shadow: 0 0 10px;
      letter-spacing: 1px;
      text-align: center;
    }

    h1 {
      font-size: 2em;
      margin: 0.67em 0;
    }

    input {
      width: 278px;
      height: 18px;
      margin-bottom: 10px;
      outline: none;
      padding: 10px;
      font-size: 13px;
      color: #fff;
      text-shadow: 1px 1px 1px;
      border-top: 1px solid #312E3D;
      border-left: 1px solid #312E3D;
      border-right: 1px solid #312E3D;
      border-bottom: 1px solid #56536A;
      border-radius: 4px;
      background-color: #2D2D3F;
    }

    .but {
      width: 300px;
      min-height: 20px;
      display: block;
      background-color: #4a77d4;
      border: 1px solid #3762bc;
      color: #fff;
      padding: 9px 14px;
      font-size: 15px;
      line-height: normal;
      border-radius: 5px;
      margin: 0;
    }
  </style>
</head>

<body>
  <div id="login">
    <h1>Hello,My First Django!</h1>
  </div>
</body>

</html>

3、编写视图函数,打开 myweb/myapp/views.py 文件,添加以下代码:

from django.shortcuts import render

# Create your views here.

# 添加 index 函数,返回 index.html 页面
def index(request):
    return render(request, 'index.html')

4、添加路由,打开 myweb/myweb/urls.py 文件,添加以下代码:

from django.contrib import admin
from django.urls import path
from myapp import views # 在这里添加这一行代码,导入 views

urlpatterns = [
    path('admin/', admin.site.urls),
	path('', views.index),    # 在这里添加这一行代码,这是我们上一步编写的视图函数的路由,默认是 / 路径

5、完成以上步骤后,在命令行执行 python manage.py runserver 启动 Django 的 Web 服务器,在浏览器中访问 127.0.0.1:8000
在这里插入图片描述
(同理,python manage.py runserver 0.0.0.0:8000

测试访问的 admin,使用浏览器访问:http://192.168.206.129:8000
到这里你已经成功创建了自己的第一个 Python Web 网站~

四、总结

常用命令:

django-admin.py startproject myweb   #创建项目
python manage.py startapp myapp   #创建 app
python manage.py runserver   #启动 Django 中的开发服务器
python manage.py -h   #帮助文档
python manage.py <command> [options] #Django 命令

————————————————
版权声明:本文基于CSDN博主「PininQ」的文章做了一些补充
原文链接:https://blog.csdn.net/qq_34081993/article/details/79229784

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值