[Python]linux环境下使用Django框架创建网页

一、环境搭建

使用python工具pip,是python的软件包管理器

  • 安装pip

sudo apt install python-pip  (python2)

sudo apt install python3-pip (python3)

  • 使用pip3安装需要用的包:

            sudo pip3 install pymysql==0.7.11
            sudo pip3 install pillow

            sudo pip3 install Django==1.11.8

使用pip3 list命令可以查看当前环境安装的包,可以查看是否安装成功

二、Django

  •  使用
1. 创建工程
django-admin startproject day01(工程名)
2. 启动项目 
进入工程中 cd day01
通过manage.py 启动项目:./manage.py runserver
输入网址测试项目:http://localhost:8000/

  • 工程的主文件夹
1 项目的基础url配置文件,路由(去哪找执行程序)
2 wsgi.py 应用服务器配置文件
3 settings.py
项目主配置文件
a.BASE_DIR 开发过程绝对路径
b.debug 开发过程是TRUE 上线必须是FALSE
c.ALLOWED_HOSTS 如果是默认的那么只能本机能访问
改成['*']则可以让其他主机访问
d.INSTALLED_APPS 指定安装的应用,创建几个应用加几个
e.MIDDLEWARE:指定中间件
f.ROOT_URLCONF:
指定项目的基础路由配置文件
g.TEMPLATES 指定模板信息
h.DATABASES设定数据库信息
4 settings 加载流程
先加载global_settings文件(在虚拟环境/lib/python3.5、site-package)再加载项目中的settings文件,冲突以项目为主

  • URL的使用
                1.在项目主文件夹中创建views.py

2.编写文件

from django.http import HttpResponse
定义一个函数
def fun_views(request):
    retun HttpResponse("wk welcome!!!")
3.在urls.py改写: 
加上from .views import *
在urlpatterns加入 url(r'^fun/',fun_views),
url函数语法url(regex,views,kwargs=None,name=None)对应的参数分别是正则表达式,视图,字典向views传参,别名

  • Django中的应用
    1 、什么是应用
        应用就是网站中的独立模块
        在项目的主目录中,是不处理具体请求。主目录中一般只做初始化设置 以及 请求地址的分发
    2、创建应用
        a. 命令

            ./manage.py startapp 应用名称
        b. 在 settings.py 中注册应用
            INSTALLED_APPS = [
                ...
                '应用名称',
            ]

  • Django 模板(Templates)
    1、什么是模板 
        就是一个网页,可以被views响应给用户
        目的是为了解决复杂的显示问题
    2、模板的设置
        在 settings.py 中的 TEMPLATES 变量
        1、BACKEND :指定模板的搜索引擎,不用改动
        2、DIRS :指定模板所存放的目录们
             DIRS = ['index.temp','news.temp',]
            但是,如果DIRS中为空的话,那么Django会自动搜索每个应用中的 templates 文件夹。默认会                         将 templates 目录作为模板存放目录
            推荐:
                a、DIRS保持为空
                b、在每个应用中,创建一个templates 目录,以后所有的 网页,都存放于此
                c、APP_DIRS
                True :先从DIRS中指定的文件夹中开始查找模板,如果没找到的话,再搜索 名为 templates 的文件夹
    3、模板的加载方式
         使用loader获取模板,通过HttpResponse进行响应
            from django.template import loader
            from django.shortcuts import render
            eg1:def xxx_views(request):
                t = loader.get_template('xxx.html')
                html = t.render({})
                return HttpResponse(html)
    eg2:def login_views(request):
            return render(request,'login.html')

三、创建项目流程

1.创建一个项目:django-admin startproject day(工程名)

2.在项目下创建一个应用index: 

./manage.py startapp index(应用名称)

在settings.py里面注册应用

扫描二维码关注公众号,回复: 2742208 查看本文章

 INSTALLED_APPS = [

                ...

                '应用名称',

            ]

3.在应用的views.py里面实现函数:

from django.shortcuts import render

# Create your views here.

def login_views(request):

    return render(request,'login.html')

4.在index里面创建urls.py,在urls.py里面写路由的分配

from django.conf.urls import url

from .views import *

urlpatterns = [

    url(r'^login/$',login_views,name = 'login'),

]

5.修改主目录下的urls.py

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [

    url(r'^',include("index.urls")),
]

6.在index里面创建目录templates

在templates创建一系列模板(html文件),可以随便找一个网页用于测试

7.运行工程

在命令行输入: ./manage.py runserver 回车

打开浏览器:输入localhost:8000/login


四、数据库的使用:

  • 数据库的创建
1.进入数据库:
mysql -u root -p

2.创建一个名为webdb的数据库:
create database webdb default char set utf8 collate utf8_general_ci;(分号表示结束),
用show databases查看当前的数据库
用use webdb(数据库名);使用数据库webdb
用decs index_publisher(表名)查看表


  • 在项目中使用数据库

1.在__init__.py中配置
import pymysql
pymysql.install_as_MySQLdb()

2.更改settings.py中的数据库配置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'webdb', 数据库名
        'USER': 'root',  默认用户
        'PASSWORD':'123456', 数据库的密码
        'HOST':'localhost',
        'PORT':'3306',
    }

3.创建model

在models.py创建一个model对应数据库的一张表
class Author(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()
    email = models.EmailField(max_length=50,null=True)
编写完models.py文件之后执行以下命令(每次更改models.py都要执行一次)
./manage.py makemigrations 将每个应用下的models映射成数据库的日志文件并存放在每个应用下的
migrations 的文件夹中
./manage.py migrate把每个应用管辖的migrations文件夹中的日志文件同步到数据库中

4.在urls.py中加入定义
urlpatterns += [
    url(r'^01_author_add/$',author_add_views),
]

5.在views.py中加入author_add_views函数和所用的包
from django.http import HttpResponse
from .models import *
def author_add_views(request):
    # return render(request,'register.html')
    Author.objects.create(name = "wk",age = '22',email = '[email protected]')
    return HttpResponse("add ok!")

6.保存运行项目
进入网站http://localhost:8000/01_author_add/
然后在数据库中查看数据的信息,SQL语句:select * from index_author
看数据是否添加成功

猜你喜欢

转载自blog.csdn.net/qq_31804159/article/details/80678733