django 项目,app 构建,admin 工具使用,根据model生成表

环境:安装了django1.11,mysql,Mysql-python

创建一个django项目 

 

django-admin.py startproject shuili

创建app(在项目的根目录下),注意以下步骤都是基于app

 

python3 manage.py startapp back

 

目录结构

 

 

shuili
|-- back
|   |-- admin.py
|   |-- admin.pyc
|   |-- apps.py
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- migrations
|   |   |-- 0001_initial.py
|   |   |-- 0001_initial.pyc
|   |   |-- __init__.py
|   |   `-- __init__.pyc
|   |-- models.py
|   |-- models.pyc
|   |-- tests.py
|   `-- views.py
|-- manage.py
|-- run.py
`-- shuili
    |-- __init__.py
    |-- __init__.pyc
    |-- settings.py
    |-- settings.pyc
    |-- urls.py
    |-- urls.pyc
    |-- wsgi.py
    `-- wsgi.pyc

 

访 http://127.0.0.1:8000/ (或者http://localhost:8000/)即可得到  It worked! 

 

 

python manage.py runserver 0.0.0.0:8000

修改settings.py的db配置

 

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

修改静态文件配置,admin的static静态文件可以在python的site-packages下Django-1.11-py2.7.egg\django\contrib\admin\static找到。可以把此目录下的文件拷贝到当前项目下。

admin的templates 默认使用的是Django-1.11-py2.7.egg\django\contrib\admin\templates。

 

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')#static 目录的绝对位置
print STATIC_ROOT

在urls.py 最下面加入

 

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns += staticfiles_urlpatterns()

创建数据库

 

python manage.py makemigrations

python manage.py migrate


 


创建admin账号密码

 

 

python manage.py createsuperuser

启动项目

 

python manage.py runserver 0.0.0.0:8000

登录界面



创建新的数据库 model,models.py(注意此处没有max_length=255等参数,是因为在数据库中寂静建立一下三个表,如果没有建立,则需要写这些参数)

 

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

# Create your models here.
class SiteInfo(models.Model):
    """
    站点信息
    """
    class Meta:
        db_table = 'site_info'
        verbose_name = "站点信息"
        verbose_name_plural = "站点信息"
    id = models.CharField(max_length=255,db_column='id',primary_key=True)
    site_num = models.CharField(max_length=255,db_column='site_num')
    site_name = models.CharField(max_length=255,db_column='site_name')
    province = models.CharField(max_length=255,db_column='province')
    city = models.CharField(max_length=255,db_column='city')
    area = models.CharField(max_length=255,db_column='area')
    lo = models.FloatField(db_column='lo')
    la = models.FloatField(db_column='la')
    remarks = models.CharField(max_length=255,db_column='remarks',blank=True)
    type = models.CharField(max_length=255,db_column='type')
    #around_site_ids = models.CharField(max_length=255,db_column='around_site_ids')
    site_info = models.ManyToManyField("self",verbose_name = "相关站点",blank=True)
    create_time = models.DateTimeField(db_column='create_time')
    update_time =models.DateTimeField(db_column='update_time')

    def __str__(self):
        return self.site_name#外键会调用

class River(models.Model):
    """
    水位
    """
    class Meta:
        db_table = 'river'

        verbose_name = "水位"
        verbose_name_plural = "水位"
    id = models.CharField(max_length=255,db_column='id',primary_key=True)
    data = models.FloatField(db_column='data',verbose_name='data1')
    #site_id = models.CharField(db_column='site_id')
    site=models.ForeignKey(SiteInfo,verbose_name='站点')
    remarks = models.CharField(max_length=255,db_column='remarks',blank=True)
    create_time = models.DateTimeField(db_column='create_time')
    date_hour = models.CharField(max_length=255,db_column='date_hour')


class Rain(models.Model):
    """
    降水
    """
    class Meta:
        db_table = 'rain'

        verbose_name = "降水"
        verbose_name_plural = "降水"
    id = models.CharField(max_length=255,db_column='id', primary_key=True)
    data = models.FloatField(db_column='data')

    #site_id = models.CharField(max_length=20,db_column='site_id')
    site = models.ForeignKey(SiteInfo)
    remarks = models.CharField(max_length=255,db_column='remarks',blank=True)
    create_time = models.DateTimeField(db_column='create_time')
    date_hour = models.CharField(max_length=255,db_column='date_hour')


根据model建立数据库表(admin工具自动建立),输入以下命令

 

 

python manage.py makemigrations

python manage.py migrate

如果执行python manage.py makemigrations提示没有改变No changes detected,执行以下步骤:

1、删除 app目录下migrations目录下除了__init__.py文件以外的所有文件。

如果提示执行 python manage.py migrate提示 No migrations to apply,执行如下步骤

1、从数据库删除自己app的记录

 

delete from django_migrations where app='back';  #back是你app的名字

 

 

 

 

 

把model注册给admin管理

 

 

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.contrib import admin
import models
# Register your models here.
class RiverAdmin(admin.ModelAdmin):
    list_display = ('id', 'data', 'site','remarks','create_time','date_hour')   #添加字段显示
    search_fields = ('data', 'remarks')   #添加快速查询栏
class RainAdmin(admin.ModelAdmin):
    list_display = ('id', 'data', 'site','remarks','create_time','date_hour')   #添加字段显示
    search_fields = ('data', 'remarks')   #添加快速查询栏

admin.site.register(models.SiteInfo)
admin.site.register(models.Rain, RainAdmin)
admin.site.register(models.River, RiverAdmin)

 

 

 


加入自己的app包路径

 

 

 

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    "back"#models.py的目录
]


启动项目,并登陆可以看到



 


 



 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
课程背景:    企业里面很多系统管理后台,用easyui + highcharts + django 进行后台管理的整合,而这块资料在网上资料甚少,很多有经验的朋友在做这块时候也经常出现各种问题,目前我们老师以前在大数据真实项目中用到这块,现在受一些网友建议单独录制easyui + highcharts + django,希望可以帮助那些同学。视频+技术文档+源码让你看过后马上也可以搭建起来。  比如现在的友盟 和 百度统计 都是在类似这样的统计,我们会通过2~3个小时左右的课程,让你掌握这样的技术。   目标人群:  1、初级以上普通开发人员  2、web开发人员,对python感兴趣同学  3、对编程感兴趣的同学   课程目录:  01easyui_highcharts_django整合之需求介绍  02easyui_highcharts_django整合通过pycharm创建项目  03easyui_highcharts_django整合配置路由显示第一个页面  04easyui_highcharts_django整合下载easyui资源并且导入到项目里面  05easyui_highcharts_django整合修改配置文件加载static静态文件  06easyui_highcharts_django整合对页面进行修改  07easyui_highcharts_django整合对合并母模板layout  08easyui_highcharts_django整合添加一个新的业务的代码实现流程  09easyui_highcharts_django整合highcharts简单介绍  10easyui_highcharts_django整合highcharts的整合到django里面  11easyui_highcharts_django整合快速做出另一个业务流程  12easyui_highcharts_django整合柱状图  13easyui_highcharts_django后台返回json数据并且展示   14大数据django后台数据保存到mysql里面  15大数据django从mysql里面读取数据并显示到页面上面  课程环境:    环境:win10,  python 2.7.13,  django 1.8.3 ,  pymsql   收获预期:    1.使用django开发项目  2.学会使用easyui框架  3.学会使用highcharts  4.easyui_highcharts_django开发后面展示项目   案例截图:      

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

life1024

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值