python从入门到实战django_python编程:从入门到实践学习笔记Django入门(一)

创建应用程序

django项目由一系列应用程序组成,他们协同工作,让项目称谓一个整体。首先我们执行命令python manage.py startapp learning_logs。

定义模型

打开刚刚我们创建的文件夹,并修改models.py:

from django.db import models

class Topic(models.Model):

text = models.CharField(max_length=200)

date_added = models.DateTimeField(auto_now_add=True)

def __str__(self):

return self.text

我们为模型创建了一个名为Topic的类,他继承了Model——django中一个定义模型基本功能的类。Topic类只有两个属性:text和date_added。

text是一个CharField——由字符或文本组成的数据,可存储少量文本。传入参数**max_length**为文本最大长度。

date_added是一个DateField——记录日期和时间的数据。传入的实参auto_add_now=True告诉django每当用户新建主题时,将这个属性自动设置为当前日期和时间。

激活模型

打开learning_log中的setting.py并添加

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'learning_logs', #

]

这是一个元组,包含了django项目中的所有应用程序。接着执行python manage.py makemigrations learning_logs让django确定如何修改数据库。最后应用迁移,执行python manage.py migrate。

Django管理网站

1.创建超级用户,执行命令python manage.py createsuperuser。

2.向管理网站注册模型,打开 learning_logs下的admin.py,并修改为:

from django.contrib import admin

from learning_logs.models

import Topic

admin.site.register(Topic)

这写代码导入了我们要注册的模型Topic,接着使用admin.site.register(Topic)让django通过管理网站管理我们的模型。

接着运行服务器,访问http://127.0.0.1:8000/admin并使用着急用户帐号密码登录。

3.添加主题,点击Topic之后进入主题网页,此时可以通过点击add进行主题的添加,添加完成之后点击save进行保存。

定义模型Entry

learning_logs\models.py

from django.db import models

class Topic(models.Model):

text = models.CharField(max_length=200)

date_added = models.DateTimeField(auto_now_add=True)

def __str__(self):

return self.text

class Entry(models.Model):

topic = models.ForeignKey(Topic)

text = models.TextField()

date_added = models.DateTimeField(auto_now_add=True)

class Meta:

verbose_name_plural = 'entries'

def __str__(self):

return self.text[:50] + "..."

ForeignKey是数据库的外键,引用数据库中的另一个记录。Entry类中的Meta类用于存储管理模型的额外信息,这里设置了一个特殊属性,让django在需要时使用 Entries 来表示多个条目。

迁移模型Entry

由于我们添加了一个新模型,因此需要再次迁移数据库。执行命令python manage.py makemigrations learning_logs以及python manage.py migrate.

向管理网站注册Entry

修改如下文件

learning_logs\admin.pyfrom django.contrib import adminfrom learning_logs.models import Topic, Entry

admin.site.register(Topic)

admin.site.register(Entry)

返回管理网站可以发现多了一个板块

接着点击新板块的add添加以下主题和讨论,并点击保存给我们之后测试使用。

国际象棋:The opening is the first part of the game, roughly the first ten moves or so. In the opening, it’s agood idea to do three things— bring out your bishops and knights, try to control the center of theboard, and castle your king.

攀岩:One of the most important concepts in climbing is to keep your weight on your feet asmuch as possible. There’s a myth that climbers can hang all day on their arms. In reality, goodclimbers have practiced specific ways of keeping their weight over their feet whenever possible

django shell

在输入以上数据之后,可以通过交互式终端会话访问这些数据,在测试项目和排除故障的时候会用上。执行命令python manage.py shell可以打开shell会话。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值