亲手教你如何搭建一个基金模拟系统(基于Django框架)
第一步:创建项目、APP以及静态文件存储文件夹
django-admin startproject Chongyang
django-admin startapp Stock # Chongyang文件夹里面操作
在chongyang项目创建statics和templates两个文件夹
第二步:配置Setting.py文件
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Stock' # 添加自己的APP名
]
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',
],
},
},
]
# 数据库配置(使用默认sqlite)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': os.path.join(BASE_DIR, 'StockDB.db'),
}
}
LANGUAGE_CODE = 'zh-hans' # 汉语
TIME_ZONE = 'Asia/Shanghai' # 时区
STATIC_URL = '/static/' # 静态文件配置
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'statics'), # 具体的路径
os.path.join(BASE_DIR, 'templates'),
]
第三步:运行项目
python manage.py runserver 0.0.0.0:8000
到目前为止,你已经创建了一个拥有极其庞大功能的web网站,后续只需激活相应的服务即可
- url.py # 路由配置文件
- views.py # 功能实现文件
- admin.py # 后台管理文件
- model.py # 数据库创建文件
第四步:具体项目配置
在配置好前面设置后直接在相应的文件里复制如下代码运行项目即可
1、models.py
from django.db import models
import uuid
# 基金经理数据表
class Fund_Manger(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
entry_time = models.CharField(max_length=20)
def __str__(self):
return self.name
# 股票信息数据表
class Stock(models.Model):
stock_name = models.CharField(max_length=20)
code = models.CharField(max_length=10)
def __str__(self):
return self.code
# 交易系统表
class Trading(models.Model):
name = models.CharField(max_length=20)
time = models.DateTimeField()
code = models.CharField(max_length=10)
number = models.IntegerField()
price = models.CharField(max_length=10)
operate = models.CharField(max_length=10)
total_price = models.CharField(max_length=20)
# 清算数据表
class Fund_pool(models.Model):
time = models.DateTimeField()
total_pool = models.CharField(max_length=30)
oprate_people = models.CharField(max_length=10)
people_num = models.IntegerField()
def __str__(self):
return self.total_pool
2、url.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from Stock import views
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^$', views.index),
url(r'^data_entry/$', views.data_entry, name='data_entry'),
url(r'^add_fund_manger/$', views.add_fund_manger),
url(r'^add_stock/$', views.add_stock),
url(r'^check$', views.check_index, name='check'),
url(r'^trading/$', views.check),
url(r'^trading_success/$', views.trading),
url(r'^fund_pool/$', views.Fund_pool_, name='fund_pool'),
url(r'^account/$', views.Account)
]
3、views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.utils import timezone
from Stock.models import Fund_Manger