• django MTV架构下的网站开发步骤


    1.需求分析必不可少,一定要具体列出本次网站项目所要实现的目标,可能包括简单的页面草图与功能方块图等。

    2.数据库设计。

    3.了解网站的每一个页面,并设计网页模板(.html)文件

    4.使用virtualenv创建并启用虚拟机环境

    5. 使用pip install django==1.11.13

    6.使用django-admin startproject 项目名 生成项目

    7.使用python manage.py startapp appname 创建app

    apps路径加入根目录

    import os
    import sys
    
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    sys.path.insert(0,BASE_DIR)
    sys.path.insert(0,os.path.join(BASE_DIR,"apps"))
    

      

    8.创建templates 文件夹,并把所有网页模板文件放在此文件夹中

    9.创建static文件夹,并把所有静态文件(css,js,images)都放在此文件夹中。

    10.修改setting.py 把相关配置文件夹都加入(STATICFILES_DIRS,templates,media...)也把生成的app名称加入INSTALL_APPS序列中。

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR,"templates")],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    

      

    STATICFILES_DIRS=[
        os.path.join(BASE_DIR,"static")
    ]
    

     

    MEDIA_URL ='/media/'
    MEDIA_ROOT=os.path.join(BASE_DIR,'media')
    AUTH_USER_MODEL = "users.UserProfile"
    替换系统用户
    

     

    11.编辑models.py 创建数据库表格。

    数据库配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'phone',
            'USER':'root',
            'PASSWORD':'root',
            'HOST':'',
            'PORT':''
        }
    }
    

    settings.py

    #设置时区
    LANGUAGE_CODE = 'zh-hans'  #中文支持,django1.8以后支持;1.8以前是zh-cn
    TIME_ZONE = 'Asia/Shanghai'
    USE_I18N = True
    USE_L10N = True
    USE_TZ = False   #默认是Ture,时间是utc时间,由于我们要用本地时间,所用手动修改为false!!!!
    

      

    12.编辑views.py ,先import models.py中创建的数据模型。

    13.admin.py 这个可以用xadmin代替

    14.编辑views.py设计处理数据相关模块,输入输出都是通过templates相关模块操作来获取来自网页的输入数据,以及显示.html文件的网页内容。

    15.编辑urls.py 先import views.py中定义的模块。

    16.编辑urls.py 创建网址和views.py中定义模块的对应关系。

    17.执行python manage.py makemigrations

    18. 执行python manage.py migrate

    19. 执行python manage.py runserver 127.0.0.1:8000 测试网站。

     20.伪上线settings.py

    DEBUG = False
    ALLOWED_HOSTS = ['*']
    
    
    STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR,"static")
    # STATICFILES_DIRS = [
    #     os.path.join(BASE_DIR,"static")
    # ]
    MEDIA_URL ="/media/"
    MEDIA_ROOT = os.path.join(BASE_DIR,"media")
    

      

    from django.views.static import serve
    from ship_monitoring.settings import STATIC_ROOT
    
    urlpatterns = [
        # url(r'^xadmin/$', xadmin.site.urls),
        url(r'^static/(?P<path>.*)$', serve, {"document_root": STATIC_ROOT}),#虽然说在实际情况中用nginx部署静态资源,但测试可以用
    ]
    

      

    STATIC_ROOT 是在部署静态文件时(pyhtonmanage.pycollectstatic)所有的静态文静聚合的目录,STATIC_ROOT要写成绝对地址,在这里,比如我的项目mysite是/home/mysite/ 
    那么STATIC_ROOT 为 /home/mysite/collect_static/ 
    当部署项目时,在终端输入:

    python manage.py collectstatic

    django会把所有的static文件都复制到STATIC_ROOT文件夹下

     21.真实上线setting.py:

    举一个小栗子,我把资源部署在了另外一台服务器上地址为120.79.129.45

    DEBUG = False
    ALLOWED_HOSTS = ['*']
    
    
    STATIC_URL = '//120.79.129.45/static/'
    # STATIC_ROOT = os.path.join(BASE_DIR,"static")
    # STATICFILES_DIRS = [
    #     os.path.join(BASE_DIR,"static")
    # ]
    MEDIA_URL ="//120.79.129.45/media/"
    MEDIA_ROOT = os.path.join(BASE_DIR,"media")
    

    步骤基本上就是这些,某些步骤要反反复复进行,直至网页开发完成。

  • 相关阅读:
    docker cacti
    zabbix5.0官方部署+监控nginx+mysql
    CentOS7 Haproxy2.2.2部署示例
    LVS(DR) + keepalived
    linux备份整个系统
    docker部署OceanBase 试用版
    NextCloud开源视频会议平台
    idea使用maven proguard 对ssm项目进行代码混合详细步骤
    C# 范围运算符[1..2]
    对象是否为空的扩展方法
  • 原文地址:https://www.cnblogs.com/zenan/p/8677305.html
Copyright © 2020-2023  润新知