zoukankan      html  css  js  c++  java
  • 基于django搭建网站

    Django 是由Python开发的一个免费的开源web框架,可以用于快速搭建网站。
    ps:web框架,也叫web应用框架,提供数据库接口,标准样板,会话管理等来支持网站,网络应用,服务的开发。
    安装django
    下载安装包Django-1.9.6.tar.gz
    tar zxvf Django-1.9.6.tar.gz
    cd Django-1.9.6
    python setup.py install
    也可以通过pip直接安装:pip install django==1.9.6
    安装结束后进入Python交互界面查看成功与否
     
    开始创建项目
    [root@localhost soft]# django-admin startproject mypro
    目录结构
    [root@localhost soft]# cd mypro/
    [root@localhost mypro]# ls
    manage.py  mypro
    [root@localhost mypro]# django-admin startapp app01
    [root@localhost mypro]# ls
    app01  manage.py  mypro
    django主要文件:
    manage.py:配置管理的接口
    urls.py:网址入口,关联到对应的views.py中的一个函数,访问网址就对应一个函数。
    settings.py:配置文件
    admin.py:配置后台管理界面
    views.py:处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中html文件将显示内容输出到网页。
    models.py:定义类,每个类对应数据库中的一张表。
    admin.py:配置后台管理界面
    templates文件夹:存放网页模板
     
    配置数据库(以mysql为例)
    [root@localhost mypro]# cd mypro/
    [root@localhost mypro]# ls
    __init__.py  settings.py  urls.py  wsgi.py
    编辑settings.py文件
     
    加载app:
     
    启动服务,可以指定端口,默认监听本机8000端口, 0.0.0.0代表监听所有网络接口和IP地址,即其他电脑都可以访问
    [root@localhost mypro]# python manage.py runserver 0.0.0.0:8000  
    Performing system checks...
     
    System check identified no issues (0 silenced).
    July 13, 2016 - 07:54:06
    Django version 1.9.6, using settings 'mypro.settings'
    Starting development server at http://0.0.0.0:8000/    
    Quit the server with CONTROL-C.
     
     
     
    设计model(数据库表)
    [root@localhost app01]# vi models.py
    class Server(models.Model):
        hostname=models.CharField(max_length=50,unique=True)
        ip=models.GenericIPAddressField(unique=True)
        passwd=models.CharField(max_length=20)
        cpu=models.CharField(max_length=20)
        disk=models.CharField(max_length=10)
        memory=models.CharField(max_length=10)
        os=models.CharField(max_length=20,default='CentOS 6.5',verbose_name='Operation System')
        def __str__(self):
            return self.hostname
    将model注册到管理页面
    [root@localhost app01]# vi admin.py
    from django.contrib import admin
    from app01.models import *
    # Register your models here.
    class Server_show(admin.ModelAdmin):
        search_fields=('hostname',) # 搜索框
        list_display=("hostname","ip","passwd","cpu","disk","memory","os",) #显示的字段
    admin.site.register(Server,Server_show)
    同步数据库,在数据库中创建对应表 ORM 
    [root@localhost mypro]# python manage.py makemigrations
    Migrations for 'app01':
      0001_initial.py:
        - Create model Server
    [root@localhost mypro]# python manage.py sqlmigrate app01 0001
    BEGIN;
    --
    -- Create model Server
    --
    CREATE TABLE `app01_server` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `hostname` varchar(50) NOT NULL UNIQUE, `ip` char(39) NOT NULL UNIQUE, `passwd` varchar(20) NOT NULL, `cpu` varchar(20) NOT NULL, `disk` varchar(10) NOT NULL, `memory` varchar(10) NOT NULL, `os` varchar(20) NOT NULL);
     
    COMMIT;
    [root@localhost mypro]# python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, contenttypes, app01, auth, sessions
    Running migrations:
      Rendering model states... DONE
      Applying app01.0001_initial... OK
    此时同步结束,在数据库中会生成对应的表,表名为APP的名称+"_"+类名,会自动增加自增长的id字段,并且设为主键,即id=models.AutoField(primary_key=True).若自定义了主键,将不会自动添加id列
    表结构与创建model时指定的一样
     
    设置后台管理超级用户
    [root@localhost mypro]# python manage.py createsuperuser
    Username (leave blank to use 'root'): 
    Email address: 
    Password: 
    Password (again): 
    Superuser created successfully.
     
    访问后台管理系统
     
     
    前端也可以显示
     
    现在开始前端页面的编写
    创建模板
    [root@localhost mypro]# mkdir templates
    在settings.py中定义模板路径
    os.path.join(BASE_DIR, 'templates')
     
    在templates下创建模板文件index.html
     
    <!DOCTYPE html>
    <html>
    <body>
    <p>
    hello world!
    </p>
    </body>
    </html>
     
    创建视图函数
    [root@localhost app01]# vi views.py
    def index(request):
        return render(request,'index.html')
    设置路由
    [root@localhost mypro]# vi urls.py
     
    这样,一个基于django的MTV模式的网站就搭建起来了。
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    可视化工具gephi源码探秘(一)
    在ssh中利用Solr服务建立的界面化站内搜索---solr2
    Nutch源码阅读进程5---updatedb
    利用Solr服务建立的站内搜索雏形---solr1
    Nutch源码阅读进程4---parseSegment
    Nutch源码阅读进程3---fetch
    VS2015编译GEOS3.5.1源码
    VS2015编译GDAL2.2.1源码
    UE4读取脑电波MindWave插件(展示如何使用第三方库制作UE4插件)
    UE4修改自Rama的UDP通信蓝图插件
  • 原文地址:https://www.cnblogs.com/williamwan/p/10388727.html
Copyright © 2011-2022 走看看