返回顶部
首页 > 资讯 > 后端开发 > Python >SAOMS系统搭建(一)
  • 522
分享到

SAOMS系统搭建(一)

系统SAOMS 2023-01-31 08:01:58 522人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

SAOMS系统搭建 采用python3.6 + Django2.1 + PyCharm DjanGo采用M(model: 数据存取层) T(template: 业务逻辑层) V(views: 表现层) 初始化项目 1. 首先要确保有pip

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 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...]

--结束END--

本文标题: SAOMS系统搭建(一)

本文链接: https://lsjlt.com/news/192497.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SAOMS系统搭建(一)
    SAOMS系统搭建 采用python3.6 + django2.1 + pycharm Django采用M(model: 数据存取层) T(template: 业务逻辑层) V(views: 表现层) 初始化项目 1. 首先要确保有pip...
    99+
    2023-01-31
    系统 SAOMS
  • 用python搭建一个花卉识别系统
    目录一.开源神经网络(AlexNet)1.获取数据集2.神经网络模型3.训练神经网络4.对模型进行预测二、花卉识别系统搭建(flask)1.构建页面:2.调用神经网络模型3.系统识别结果4.启动系统:三、总结一.开源...
    99+
    2022-06-02
    python 花卉识别 python 识别系统
  • 如何搭建一个蓝牙定位系统
    本篇文章给大家分享的是有关如何搭建一个蓝牙定位系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、准备设备所需硬件设备:(1)低功率蓝牙定位器若干(如:10个),网上有卖(单...
    99+
    2023-05-31
    蓝牙定位系统
  • php建站系统怎么搭建
    搭建 PHP 建站系统需要以下步骤:1. 选择一个 PHP 建站系统,如 WordPress、Joomla、Drupal 等,并下载...
    99+
    2023-06-11
    php建站系统 php
  • asp建站系统怎么搭建
    ASP建站系统的搭建一般需要以下步骤:1. 确定ASP建站系统的版本和功能需求。2. 选择合适的ASP建站系统模板或自行设计页面。3...
    99+
    2023-06-03
    asp建站系统 asp
  • golang 告警系统搭建
    在现代软件开发中,告警系统是一个非常重要的组成部分,它可以帮助我们及时监测并处理软件运行过程中的各种异常情况。而Golang作为一门高效,快速和并发的编程语言,非常适合用于搭建告警系统。本文将介绍如何使用Golang快速搭建一个高效的告警系...
    99+
    2023-05-14
  • 网站建设系统怎么搭建
    网站建设系统的搭建需要以下步骤:1.选择合适的建站平台:根据自己的需求和技术水平选择合适的建站平台,例如WordPress、Wix、...
    99+
    2023-06-08
    网站建设系统 网站建设
  • 一台云服务器怎么搭建集群系统
    搭建集群系统需要遵循一定的标准和流程,以下是一些基本步骤: 选择虚拟化技术:选择合适的云服务器和虚拟化平台。虚拟机技术提供了更为灵活和高效的部署和管理方式。 安装基础设施:确保云服务器和虚拟化平台已经正确安装和配置,同时要考虑到硬件和软...
    99+
    2023-10-26
    一台 集群 服务器
  • centos7 搭建zabbix3.0.5监控系统
    一、实验环境:[root@zabbixserver ~]# cat /etc/redhat-release  CentOS Linux relea...
    99+
    2024-04-02
  • MAC+PyCharm+Flask+Vue.js搭建系统
    目录配置node.js+nvm+npmnpm切换淘宝镜像安装Vue.js创建并运行Vue.js项目在线初始化离线方式运行项目src文件以及作用解决打不开的问题配置Flask安装Fla...
    99+
    2024-04-02
  • linux怎么搭建gfs系统
    这篇文章将为大家详细讲解有关linux怎么搭建gfs系统 iscsi+GFS实现网络存储 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。虚拟机搭建gfs系统系统环境:CentOS release 5.5 ...
    99+
    2023-06-13
  • 麒麟系统+lnmp+laravel 搭建
    银河麒麟系统安装 官网选择对应的镜像下载 https://eco.kylinos.cn/partners/mirror.htmlclass_id=1&query_key= 下载rufus 制作启动...
    99+
    2023-09-29
    laravel php html
  • Linux系统怎么搭建DHCP
    Linux系统怎么搭建DHCP,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DHCP简介:DHCP(Dynamic Host Configuration Pro...
    99+
    2023-06-28
  • Windows系统下Eclipse上搭建
    Windows系统下Eclipse上搭建Python开发环境在Eclipse上安装和搭建Python开发环境需要以下五步完成:(第一步)下载最新的Eclipse安装包。我是基于Python版本python-3.6.4。python-3.6...
    99+
    2023-01-31
    系统 Windows Eclipse
  • 云服务器系统搭建
    云服务器系统搭建是一个比较复杂的过程,需要考虑多个方面,包括服务器硬件、软件、网络等各个方面。下面是一些简单的步骤和技巧,可以帮助你在云服务器搭建方面取得成功。 安装服务器硬件:首先需要购买服务器所需的硬件设备。在购买服务器硬件时,应该...
    99+
    2023-10-26
    服务器 系统
  • 一次竞拍系统的搭建部署总结+有感
    一次系统环境搭建和部署就是一次锻炼更是一次难得的学习机会,很开心,先分享出来,请广大博友多多指教!看过本博文朋友,别忘了评论几句,本人在此谢过。         &n...
    99+
    2024-04-02
  • 一台云服务器怎么搭建集群系统的
    要搭建一个云服务器集群系统,以下是一些步骤和建议: 确定云服务器的要求和规格:首先,您需要确定您要使用云服务器的要求和规模。这可以包括CPU、内存、存储、带宽等等。确保您的云服务器符合您的需求和预算。 选择合适的云服务器服务商:选择一家...
    99+
    2023-10-26
    一台 集群 服务器
  • 用钉钉宜搭怎么建一个进销存系统
    确定需求和功能 首先,需要确定需要哪些功能,以及这些功能的具体需求和要求。根据钉钉提供的数据,企业需要的功能包括订单管理、采购管理、库存管理、销售管理、财务管理、客户管理、员工管理等。在确定需求后,需要将这些功能进行拆分和细化,使得每个功...
    99+
    2023-10-28
    进销存系统 用钉钉宜搭
  • 五、nginx搭建WordPress博客系统
    1、简介WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。WordP...
    99+
    2024-04-02
  • 如何搭建Wordpress博客系统
    小编给大家分享一下如何搭建Wordpress博客系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装SequoiaDB本文使用...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作