• 创建项目和应用

django-admin.py startproject project_name
cd project_name
python manage.py startapp app_name

添加 app_name 到 settings.py 中的 INSATLLED_APPS 中。

  • 规划写models.py

示例:

from __future__ import unicode_literals

from django.db import models
from django.utils.encoding import python_2_unicode_compatible @python_2_unicode_compatible
class Column(models.Model):
name = models.CharField('栏目名称', max_length=256)
slug = models.CharField('栏目网址', max_length=256, db_index=True)
intro = models.TextField('栏目简介', default='') def __str__(self):
return self.name class Meta:
verbose_name = '栏目'
verbose_name_plural = '栏目'
ordering = ['name'] # 按照哪个栏目排序 @python_2_unicode_compatible
class Article(models.Model):
column = models.ManyToManyField(Column, verbose_name='归属栏目') title = models.CharField('标题', max_length=256)
slug = models.CharField('网址', max_length=256, db_index=True) author = models.ForeignKey('auth.User', blank=True, null=True, verbose_name='作者')
content = models.TextField('内容', default='', blank=True) published = models.BooleanField('正式发布', default=True) def __str__(self):
return self.title class Meta:
verbose_name = '教程'
verbose_name_plural = '教程'
  • 创建数据库

python manage.py makemigrations news
python manage.py migrate
  • 更改models.py

对models.py进行更改后,更改字段数据库中没有,需要同步更改到数据库中。

python manage.py makemigrations news

后续操作:

You are trying to add a non-nullable field 'pub_date' to article without a default; we can't do that (the database needs something to populate existing rows).

Please select a fix:

1) Provide a one-off default now (will be set on all existing rows)

2) Quit, and let me add a default in models.py

这段话的意思是 pub_date 字段没有默认值,而且非Null 那么

1) 指定一个一次性的值供更改数据库时使用。

2) 停止当前操作,在 models.py 中给定默认值,然后再来migrate。

我们选择第一个,输入 1

Select an option: 1

Please enter the default value now, as valid Python

The datetime and django.utils.timezone modules are available, so you can do e.g. timezone.now()

>>> timezone.now()

Migrations for 'news':

0002_auto_20150728_1232.py:

- Add field pub_date to article

- Add field update_time to article

这样是生成了一个对表进行更改的 py 文件在 news/migrations 文件夹中,我们要执行更改

python manage.py migrate 或 python manage.py migrate news
  • 创建脚本,导入数据到数据库中

示例:

'''
create some records for demo database
''' from minicms.wsgi import *
from news.models import Column, Article def main():
columns_urls = [
('体育新闻', 'sports'),
('社会新闻', 'society'),
('科技新闻', 'tech'),
] for column_name, url in columns_urls:
c = Column.objects.get_or_create(name=column_name, slug=url)[0] # 创建 10 篇新闻
for i in range(1, 11):
article = Article.objects.get_or_create(
title='{}_{}'.format(column_name, i),
slug='article_{}'.format(i),
content='新闻详细内容: {} {}'.format(column_name, i)
)[0] article.column.add(c) if __name__ == '__main__':
main()
print("Done!")

运行脚本 导入数据:

python create_demo_records.py

Django项目流程的更多相关文章

  1. linux部署django项目流程(全)

    1.python3和python2共存配置 流程在下面网址中 https://www.cnblogs.com/vinic-xxm/p/11358894.html 2.安装依赖包 yum install ...

  2. 宝塔面板成功部署Django项目流程

    宝塔面板部署Django项目完整流程 上线Django项目记录,超简单,避免无意义的踩坑! 第一步:安装python管理器 在宝塔在线面板安装“python项目管理器” 第二步:安装适配python版 ...

  3. 服务器上部署django项目流程?

    1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前服务器IP或*,如: ALLOWED_HOSTS = ["*",] 然后将源码 ...

  4. BAE部署Django项目流程整理

    1.首先在BAE上创建一个应用名称并付费2.把应用文件夹git到本地,此时文件夹会多出三个文件app.conf,favicon.ico,index.py3.在应用文件夹内创建本地项目:myblog,并 ...

  5. Django项目流程(摘抄整理)

    1.操作环境 Windows 8.1 Django 1.9 Python 2.7.10 2.创建工程 在cmd中运行后面的所有命令:

  6. Django 创建项目流程

    django 项目创建流程 1 创建项目 cmd django-admin startproject 项目名称 pycharm file -- new project -- Django -- 项目名 ...

  7. 腾讯云服务器部署 django项目整个流程

    CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...

  8. django搭建简单开发项目流程(一)

    1 搭建环境 sudo apt-get install python3-pip 安装pip3 sudo pip3 install virtualenv 安装虚拟环境 virtualenv -p pyt ...

  9. Django 小实例S1 简易学生选课管理系统 1 项目流程梳理与数据库设计

    Django 小实例S1 简易学生选课管理系统 第1章--项目流程梳理与数据库设计 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 项目流程梳理 ...

随机推荐

  1. 一、linux学习之centOS系统安装(VMware下安装)

    一.下载 这个真的没有什么技术含量,也不附下载连接了.这里需要说明的是,其实在VMware下安装centOS是非常简单的,但是这里我要纪录的是在PC上安装centOS,之所以跟标题有出入是因为为了纪录 ...

  2. git 提交模板配置

    1.创建模板文件,比如gitTemplate.txt,内容如下: ABSTRACT:修改自测发现的多度数据同步相关问题. Bug Fix [Y/N]:NBug ID:New Feature [Y/N] ...

  3. php 中 FastCGI与cgi的关系,何为fastcgi

    FastCGI是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持 在内存中并因此获得较高的性能.众所周知,CGI解释器的反复加载是CGI性能低下的主要原因, 如果CGI解释器 ...

  4. poj 2125 Destroying The Graph (最小点权覆盖)

    Destroying The Graph http://poj.org/problem?id=2125 Time Limit: 2000MS   Memory Limit: 65536K       ...

  5. Java时间格式转换工具类

    把当前时间修改成指定时间 //把当前时间修改成指定时间 public String dateUtil(Integer seconds, String dateFormatPattern){ Date ...

  6. Java实现各种内部排序算法

    数据结构中常见的内部排序算法: 插入排序:直接插入排序.折半插入排序.希尔排序 交换排序:冒泡排序.快速排序 选择排序:简单选择排序.堆排序 归并排序.基数排序.计数排序 直接插入排序: 思想:每次将 ...

  7. 【AtCoder Regular Contest 080E】Young Maids [堆][线段树]

    Young Maids Time Limit: 50 Sec  Memory Limit: 512 MB Description 给定一个排列,每次选出相邻的两个放在队头,要求字典序最小. Input ...

  8. 【CC2530强化实训03】定时器间隔定时实现按键长按与短按

    [CC2530强化实训03]定时器间隔定时实现按键长按与短按 [题目要求] 虽然用普通的延时函数能够实现按键长按与短按的判别,但是在实际的工程应用和项目开发中并不好用也不灵活.更多得是借助定时器的间隔 ...

  9. 【译】第十篇 SQL Server代理使用代理帐户

    本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...

  10. Strusts2笔记4--类型转换器

    类型转换器: Struts2默认情况下可以将表单中输入的文本数据转换为相应的基本数据类型.这个功能的实现,主要是由于Struts2内置了类型转换器.这些转换器在struts-default.xml中可 ...