Django项目流程
创建项目和应用
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项目流程的更多相关文章
- linux部署django项目流程(全)
1.python3和python2共存配置 流程在下面网址中 https://www.cnblogs.com/vinic-xxm/p/11358894.html 2.安装依赖包 yum install ...
- 宝塔面板成功部署Django项目流程
宝塔面板部署Django项目完整流程 上线Django项目记录,超简单,避免无意义的踩坑! 第一步:安装python管理器 在宝塔在线面板安装“python项目管理器” 第二步:安装适配python版 ...
- 服务器上部署django项目流程?
1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前服务器IP或*,如: ALLOWED_HOSTS = ["*",] 然后将源码 ...
- BAE部署Django项目流程整理
1.首先在BAE上创建一个应用名称并付费2.把应用文件夹git到本地,此时文件夹会多出三个文件app.conf,favicon.ico,index.py3.在应用文件夹内创建本地项目:myblog,并 ...
- Django项目流程(摘抄整理)
1.操作环境 Windows 8.1 Django 1.9 Python 2.7.10 2.创建工程 在cmd中运行后面的所有命令:
- Django 创建项目流程
django 项目创建流程 1 创建项目 cmd django-admin startproject 项目名称 pycharm file -- new project -- Django -- 项目名 ...
- 腾讯云服务器部署 django项目整个流程
CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...
- django搭建简单开发项目流程(一)
1 搭建环境 sudo apt-get install python3-pip 安装pip3 sudo pip3 install virtualenv 安装虚拟环境 virtualenv -p pyt ...
- Django 小实例S1 简易学生选课管理系统 1 项目流程梳理与数据库设计
Django 小实例S1 简易学生选课管理系统 第1章--项目流程梳理与数据库设计 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 项目流程梳理 ...
随机推荐
- 5.Qt模块简介
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改.Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中.Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化.本节 ...
- pycharm配置总结
1. 快捷键 格式化代码:Ctrl + Alt + L 2. A scheme with this name already exists or was deleted without applyin ...
- python基础4--文件操作
文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1.open()打开文件 #获取文件句柄 f = open("yesterday" ...
- NO.4day LINUX centos 文件基本操作
LINUX centos 文件基本操作 1 LINUX简介 Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CP ...
- JVM 体系结构介绍
JVM是Java的一大利器.它可以屏蔽各个计算机平台相关软件和硬件之间的差异.把平台相关的耦合统一工作交由JVM的实现者. JVM(Java 虚拟机),它通过模拟一个计算机来达到一个计算机所拥有的计算 ...
- SourceTree使用SSH克隆码云项目
SourceTree使用SSH克隆码云项目 觉得有用的话,欢迎一起讨论相互学习~Follow Me SourceTree使用SSH克隆码云项目 参考文献 https://blog.csdn.net/q ...
- IOS计算文字高度
1.计算文字长度 NSString* str = @"你好"; .f; NSStringDrawingOptions options = NSStringDrawingUsesLi ...
- 转:苹果Xcode帮助文档阅读指南
一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出 ...
- 《设计模式》-原则六:迪米特法则(LoD)
啊哈哈哈哈,又到星期五了,真开心.回来吃完饭慌着去玩游戏,所以立马过来先完成今天的学习目标. 这个原则的命名好像是以某个人的名字命名的,算了我不去管这个了. 直接说说我学到的东西,这个迪米特法则又可以 ...
- div+css+jQuery简单实现投票功能
昨天看到C#群里有人问一个投票功能如何实现... 我对此很感兴趣,为了练习一下,就有了以下代码. 投票功能使用jQuery实现..纯html代码...数据通过json字符串传递,通过 eval转换为j ...