我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SAOMS系统搭建(一)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SAOMS系统搭建(一)

SAOMS系统搭建

采用python3.6 + django2.1 + pycharm

  • Django采用M(model: 数据存取层) T(template: 业务逻辑层) V(views: 表现层)

初始化项目

1. 首先要确保有pip包管理工具
2. virtualenv: pip install virtualenv, python虚拟环境
3. mkvirtualenv <project_name>创建虚拟环境
4. workon <env_name> 进入虚拟环境
5. pip install xxx 安装依赖包,配置项目环境
6. django-admin startproject <pro_name> 创建项目
7. 进入项目目录, python manage.py help 查看manage.py的功能
8. python manage.py runserver 80 启动项目,默认端口8000
9. 访问 127.0.0.1:80,项目创建成功

创建应用

python manage.py startapp <app_name>
目录结构:
-SAOMS

--app

---migrations
----__init__.py

---__init__.py
---admin.py
---models.py
---views.py
---apps.py
---tests.py

--manage.py

--SAOMS
---settings.py
---wsgi.py
---urls.py

项目settings.py配置

1. INSTALL_APPS添加刚才创建的app
2. STATIC_URL = 'static' 静态资源的起始URL,其static文件只能在app里
3. STATICFILES_DIR = [os.path.join(BASE_DIR, 'public_static'), ] 可选配置属性,
4. STATIC_ROOT = os.path.join(BASE_DIR, 'all_static') 用于生产部署的时候,开发时用不太到

5. 模板路径,tamplates,根目录下放公共的模板,app目录下放各自app独立的模板
'DIRS': [os.path.join(BASE_DIR, 'templates'),
                 os.path.join(BASE_DIR, 'home/templates'),
                 os.path.join(BASE_DIR, 'student/templates'), ],
                 
6. 数据库配置
django.db.backends.postgresql/mysql/sqlite3/oracle
default为默认数据库,也可以链接多个数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'name',
        'USER': 'root',
        'PASSWORD': '****',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
    
    'myDJANGO': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': <name>,
        'USER': 'root',
        'PASSWORD': '*****',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }

7. 中间件,处理request和response对象的钩子,中间件的作用主要使处理用户请求信息,也可以自定义中间件,添加到配置属性即可。

编写URL(统一资源定位符)规则

  1. 在每个app文件夹中设置独立的静态资源和模板文件夹并添加一个urls.py文件
  2. 根目录下urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),
]
  1. app中的urls.py
from django.urls import path
from . import views


urlpatterns = [
    path('', views.index),
]

# app 的views中的代码
from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello World')
  1. 带变量的URL
例如带有日期的url
  • url的变量类型又字符类型,整型,slug, uuid,最常用的使字符类型和整型。
path('<year>/<int:month>/<slug:day>', views.mydate)
  • 也可以使用正则表达式来规范化数据格式
from django.urls import path, re_path

re_path('(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2}).html', views.mydate)

URL末端使用正则表达式,应在末端加上斜杠或其他字符,否则无法生效。
  • 设置参数name,
views.mydate, name='mydate'),

<div>
    <a href="/2019/09/10.html">2019 pld achieve</a>
</div>
    <a href="{% url 'mydate' 2019 %}">2019 achieve</a>
</div>
  • 设置额外参数
1. 除了name之外,还有参数类型是以字典的数据类型传递的只能在视图函数中读取和使用

视图探究

  1. render, render_to_response, redirect
def index(request):
    return render(request, 'template2/index.html', context={'title': '首页'}, status=500)
  1. render(request, template_name, context = None, content_type = None, status = None, using = None)
  2. 数据可视化
  • 与model实现数据交互,读取并处理后台数据,最后生成HTML页面返回给用户。
# coding=utf-8

from django.db import models

# Create your models here.

class Product(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=50)
    type = models.CharField(max_length=20)

# views.py

from models import Product
def index(request):
    type_list = Product.objects.values('type').distinct()
    name_list = Product.objects.values('name', 'type')
    context = {'title': '首页', 'type_list': type_list, 'name_list': name_list}
    return render(request, 'template2/index.html', context=context, status=200)
  1. 通用视图
TemplateView: 直接返回HTML模板,无法将数据库的数据展示出来
ListView: 将数据库数据传递给HTML模板,通常获取某个表的所有数据
DetailView: 通常获取数据表的单条数据

深入模板

Django模板,Jinja2模板语言(http://docs.jinkan.org/docs/j...)
  1. 变量和标签
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>{{ title }}</title>
    {% load staticfiles %}
    <link rel="icon" href="{% static "img/hw.ico" %}">
    <script class="lazy" data-src="{% static "js/hw_index.js" %}"></script>
</head>
<body>
    <ul>
        {% for type in type_list %}
        <li>
            <h3><a href="#">{{ type.type }}</a></h3>
            <p>
                {% for name in name_list %}
                {% if name.type == type.type %}
                <span>{{ name.name }}</span>
                {% endif %}
            {% endfor %}
            </p>
        </li>
        {% endfor %}
    </ul>
</body>
  1. 常用标签
{% for %}:遍历
{% if %}:条件判断
{% csrf_token %}:生成csrf_token标签,防护跨站请求伪造攻击
{% url 'index' <kwargs> %}:引用路由配置地址
{% with %}:将变量名重新命名
{% load %}:加载导入Django的标签库
{% static %}:读取静态资源的文件内容
{% extends xxx %}:模板继承,xxx为模板文件名
{% block xxx %}:重写父类模板的代码

3.模板继承

{% extends "base.html" %}
{% block body %}
<a href="{% url 'index' target="_blank %}"></a>
{% endblock %}
  1. 自定义过滤器
{{ variable | filter | lower }}

项目新建user_defined文件夹
----templatetags文件夹
----__init__.py
----myfilter.py

在settings.py中INSTALL_APPS中添加'user_defined'

# myfilter.py
from django import template
# 注册过滤器,声明模板对象
register = template.Library()
#声明并定义过滤器
@register.filter
def myreplace(value, args):
    oldValue = args.split(':')[0]
    newValue = args.split(':')[1]
    return value.replace(oldValue, newValue)

models模块,模型与数据库

[models详细介绍: https://blog.csdn.net/qq_3704...]

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SAOMS系统搭建(一)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SAOMS系统搭建(一)

SAOMS系统搭建采用python3.6 + django2.1 + pycharmDjango采用M(model: 数据存取层) T(template: 业务逻辑层) V(views: 表现层)初始化项目1. 首先要确保有pip包管理工具
2023-01-31

用python搭建一个花卉识别系统

目录一.开源神经网络(AlexNet)1.获取数据集2.神经网络模型3.训练神经网络4.对模型进行预测二、花卉识别系统搭建(flask)1.构建页面:2.调用神经网络模型3.系统识别结果4.启动系统:三、总结一.开源神经网络(AlexNet
2022-06-02

如何搭建一个蓝牙定位系统

本篇文章给大家分享的是有关如何搭建一个蓝牙定位系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、准备设备所需硬件设备:(1)低功率蓝牙定位器若干(如:10个),网上有卖(单
2023-05-31

php建站系统怎么搭建

搭建 PHP 建站系统需要以下步骤:1. 选择一个 PHP 建站系统,如 WordPress、Joomla、Drupal 等,并下载安装包。2. 准备好一个 Web 服务器,如 Apache、Nginx 等,并安装 PHP 解析器。3. 解
2023-06-11

asp建站系统怎么搭建

ASP建站系统的搭建一般需要以下步骤:1. 确定ASP建站系统的版本和功能需求。2. 选择合适的ASP建站系统模板或自行设计页面。3. 搭建服务器环境,包括安装IIS、ASP.NET框架、数据库等。4. 创建数据库,并设置数据库连接。5.
2023-06-03

一台云服务器怎么搭建集群系统

搭建集群系统需要遵循一定的标准和流程,以下是一些基本步骤:选择虚拟化技术:选择合适的云服务器和虚拟化平台。虚拟机技术提供了更为灵活和高效的部署和管理方式。安装基础设施:确保云服务器和虚拟化平台已经正确安装和配置,同时要考虑到硬件和软件的兼容性。安装必要的软件:在云服务器和虚拟化平台上安装必要的软件,例如负载均衡、DNS、防火墙和流量控制等。这些应用程序需要有一定的安全性和可靠性要求。部
2023-10-26

网站建设系统怎么搭建

网站建设系统的搭建需要以下步骤:1.选择合适的建站平台:根据自己的需求和技术水平选择合适的建站平台,例如WordPress、Wix、Squarespace等。2.购买域名和主机:选择一个好的域名和主机,确保网站的稳定性和可靠性。3.安装建站
2023-06-08

linux怎么搭建gfs系统

这篇文章将为大家详细讲解有关linux怎么搭建gfs系统 iscsi+GFS实现网络存储 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。虚拟机搭建gfs系统系统环境:CentOS release 5.5
2023-06-13

Windows系统下Eclipse上搭建

Windows系统下Eclipse上搭建Python开发环境在Eclipse上安装和搭建Python开发环境需要以下五步完成:(第一步)下载最新的Eclipse安装包。我是基于Python版本python-3.6.4。python-3.6.
2023-01-31

云服务器系统搭建

云服务器系统搭建是一个比较复杂的过程,需要考虑多个方面,包括服务器硬件、软件、网络等各个方面。下面是一些简单的步骤和技巧,可以帮助你在云服务器搭建方面取得成功。安装服务器硬件:首先需要购买服务器所需的硬件设备。在购买服务器硬件时,应该先确认硬件型号、品牌、生产日期等信息。安装服务器软件:在购买服务器软件时,应该注意软件版本的选择。不同的软件版本可能会有不同的功能和性能,应该根据自己的实际要
2023-10-26

Linux系统怎么搭建DHCP

Linux系统怎么搭建DHCP,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DHCP简介:DHCP(Dynamic Host Configuration Pro
2023-06-28

一台云服务器怎么搭建集群系统的

要搭建一个云服务器集群系统,以下是一些步骤和建议:确定云服务器的要求和规格:首先,您需要确定您要使用云服务器的要求和规模。这可以包括CPU、内存、存储、带宽等等。确保您的云服务器符合您的需求和预算。选择合适的云服务器服务商:选择一家可靠的云服务器供应商可以确保您的应用程序在云服务器上运行。您可以查看他们的官方网站、客户支持和案例研究,以确认他们的服务水平。购买或租赁云服务器:在购买云服务
2023-10-26

用钉钉宜搭怎么建一个进销存系统

确定需求和功能首先,需要确定需要哪些功能,以及这些功能的具体需求和要求。根据钉钉提供的数据,企业需要的功能包括订单管理、采购管理、库存管理、销售管理、财务管理、客户管理、员工管理等。在确定需求后,需要将这些功能进行拆分和细化,使得每个功能都具有明确的目的和操作步骤。选择适合的技术选择适合的技术是建立进销存系统的关键。钉
用钉钉宜搭怎么建一个进销存系统
2023-10-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录