Django(二)创建app,设置相关后台
location 最后一个文件夹名就是project名,我用了DjangoProject。
Application 是自动加入的APP名字,我用了DjangoTest
1.添加APP
在pycharm的工具栏找到 Tools,点击之后会有“Run manage.py task”选项,点击它之后,在pycharm下面会出现一个输入界面,
在里面输入“startapp appName(你的App名称)”,回车之后就可以在工程下面看到你新建的App了。
命令:startapp Plan
会自动创建目录,文件……
后续文章也主要使用这个名称,不再说明
第一篇文章,我们创建了APP DjangoTest 现在又创建了一个APP Plan.
2.把新建的APP Plan加入APPS列表:
编辑项目setting.py,(DjangoProject/setting.py)
INSTALLED_APPS = 中加入新建的app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Plan.apps.PlanConfig', #此行为添加
]
记得最后一个逗号,根据pycharm的提示,很容易写的。
3.设置公用静态路径:
编辑项目setting.py,(DjangoProject/setting.py)最下面一部分
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/
STATIC_URL = '/static/'#URL访问路径 STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),#URL对应的路径和URL名称设一致,编写想关代码时提示是正确的
)
这里就是把项目文件夹下的static 变成网络访问的 http://localhost:8000/staitc目录了
本地放在static文件夹下的文件,都可以直接网络访问。
4.创建数据结构,数据模型………………随便你怎么叫吧
编辑 DjangoTest目录下 models.py
注意add_date,是创建时间,mod_date是修改时间,这个是特殊设置,后台也不可以随便改,django默认还不在后台显示。
class Train_plan(models.Model):#车次计划表
add_date = models.DateTimeField('保存日期', default=timezone.now)
mod_date = models.DateTimeField('最后修改日期', auto_now=True)
date =models.DateField('计划日期')
train_name=models.CharField(max_length=16,verbose_name='车次名称')
start_time=models.TimeField('计划开始时间')
end_time=models.TimeField('计划结束时间')
track=models.IntegerField('股道',default='')
plan_end=models.TimeField('图定终到时间')
plan_in=models.TimeField('计划入库时间')
plan_out=models.TimeField('计划出库时间')
plan_start=models.TimeField('图定发车时间')
note=models.TimeField('备注',null=True,blank=True)
class Meta:
verbose_name='车次计划'
verbose_name_plural= '车次计划'
以后会有文章说明数据类型,额外的方法。
运行命令创建数据结构,数据表
makemigrations
migrate
5.注册app到管理界面
编辑app目录下admin.py (DjangoTest/admin.py)
from .models import Train_plan #例程使用
from .models import Carriage_plan #非例程使用
from .models import Carriage_history#非例程使用
class YourAdmin(admin.ModelAdmin):#例程使用
readonly_fields = ('add_date', 'mod_date',)
admin.site.register(Train_plan,YourAdmin)#例程使用
admin.site.register(Carriage_plan,YourAdmin)#非例程使用
admin.site.register(Carriage_history,YourAdmin)#非例程使用
readonly_fields,是把默认后台不会显示的内容以只读形式显示出来。可以给多个表来使用,当然,要有相同的条目。
6.登陆后发现app名字是类名,修改为中文
编辑app目录下apps.py (DjangoTest/app.py)
from django.apps import AppConfig class DjangoTestConfig(AppConfig):
name = 'DjangoTest'
verbose_name = '测试管理'
verbose_name就是别名显示,很多地方都是这么用。
Django(二)创建app,设置相关后台的更多相关文章
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- django-1创建项目创建app设置setting、urls、templates、views等
1. python -m django --version 查看版本 1.11.4 在需要创建项目的目录下执行: 2. django-admin startproject myblog => 创 ...
- django框架创建app及使用、
App 创建一个app : python manage.py startapp app01 admin: from django.contrib import admin # Register you ...
- Django 2 创建app
python manage.py startapp polls 创建model 创建完model以后使用 查看sql python manage.py sql polls 然后使用 python ma ...
- Django创建App报错
在django下创建APP项目时遇到的坑 python manage.py startapp app01 报错内容如下: 解决:找到报错中的文件夹151行删除items(),)中的逗号即可 在命令行下 ...
- Python Django CMDB项目实战之-2创建APP、建模(models.py)、数据库同步、高级URL、前端页面展示数据库中数据
基于之前的项目代码来编写 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页index页文章页面 现在我们修改一个文章列表是从数据库中获取数据, 下面我们就需 ...
- 四、Django设置相关
1.全局设置 setttings文件 import os import sys # Build paths inside the project like this: os.path.join(BAS ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- Django---静态文件配置,post提交表单的csrf问题(日后细说),创建app子项目和分析其目录,ORM对象关系映射简介,Django操作orm(重点)
Django---静态文件配置,post提交表单的csrf问题(日后细说),创建app子项目和分析其目录,ORM对象关系映射简介,Django操作orm(重点) 一丶Django的静态文件配置 #we ...
随机推荐
- windows下如何解决chrome浏览器左下角总提示'Downloading proxy script'的问题
答:关掉LAN settings中的Automatically detect settings选项和Use automatic configuration script选项,如下图
- JavaScript:正则表达式 分组
在现在的我看来,带小挂号的就是分组,嗯. 代码: var reg=/(abc)/; var str="abcdabcdeabcdef"; console.dir(reg.exec( ...
- HDU 1285 确定比赛名次(拓扑排序)题解
Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...
- sqlserver数据库出错的解决方法
1.SQLServer2008数据库sa账户登录127.0.0.1失败 http://blog.sina.com.cn/s/blog_546a30270102weh2.html 2.SqlServer ...
- org.apache.axis2.AxisFault: java.lang.Error: Unresolved compilation problem:
原创:转载请注明出处 今天遇到以下一个异常,找了好长时间,就是不知道什么原因, 在网上搜了好多,也没搜到相关的解决方法. 1.异常展示, org.apache.axis2.AxisFault: jav ...
- Java东西太多,记录一些知识点
实习两个月了,这两个月接触了不少东西,简单列举一下知识,未来需要多多学习和了解. 1.前端js.extjs4.Jquery(js框架这些基本现学现用): 2.基础不好要补补Servlet和JSP(再往 ...
- 软件测试实习生 带人计划 Plan for Training Inten
临时拟了个提纲,以后慢慢补充吧 序号 培训内容 时间安排 1 根据项目需求,编写测试用例,针对存储过程 2 存储过程的走读,以及怎样执行测试用例和查看结果 3 根据项目需求,编写测试用例,针对接口[C ...
- [C++]简单的udp通信
UDPclient.cpp #include<WINSOCK2.H> #include<iostream> #pragma comment(lib,"WS2_32.l ...
- Android 获取本地外网IP、内网IP、计算机名等信息
一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...
- protected internal == internal
总结:在同程序集下,protected internal类型修饰的成员变量可以在基类或派生类的类内.类外访问(同程序集下protected internal和internal访问性质相同,此处保留了i ...