• 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

    1 INSTALLED_APPS = [
    2     'django.contrib.admin',
    3     'django.contrib.auth',
    4     'django.contrib.contenttypes',
    5     'django.contrib.sessions',
    6     'django.contrib.messages',
    7     'django.contrib.staticfiles',
    8     'Plan.apps.PlanConfig',   #此行为添加
    9 ]

    记得最后一个逗号,根据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='0')
        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就是别名显示,很多地方都是这么用。

  • 相关阅读:
    java判断一个字符串是否包含某个字符
    Java去掉Html标签的方法
    如何转换成utf-8格式的,在jsp页面中正常显示换行
    a标签设置手型
    a标签置灰不可点击
    校验手机号码格式
    用JQuery 判断某个属性是否存在hasAttr的解决方法
    验证手机号码 (包含166和199)
    获取短信验证码倒计时
    Noisy Channel模型纠正单词拼写错误
  • 原文地址:https://www.cnblogs.com/jackadam/p/8083236.html
Copyright © 2020-2023  润新知