项目结构
File -->> New Project...
第一个Location是项目所在的目录,第二个Location是项目独立的Python运行环境,我们称之为Virtualenv。
Base interpreter是Python安装目录下的python.exe。
刚创建的Django项目如下所示:
在Terminal窗口输入命令python manage.py runserver
也可以启动项目。
在浏览器中访问http://127.0.0.1:8000/
,看到下面这个页面表明项目到目前为止一切正常。
Django项目由一系列应用程序组成,它们协同工作,让项目成为一个整体。
实际上,PyCharm的Terminal窗口已经处于Django项目独立的运行环境,执行python manage.py startapp learning_logs
命令创建一个应用程序:
创建完应用程序后,就可以在项目中看到新增的应用程序的目录。
# untitled/learning_logs/models.py
from django.db import models
class Topic(models.Model):
"""A topic the user is learning about."""
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
"""Return a string representation of the model."""
return self.text
class Entry(models.Model):
"""Something specific learned about a topic."""
topic = models.ForeignKey('Topic', on_delete=models.CASCADE)
text = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural = 'entries'
def __str__(self):
"""Return a string representation of the model."""
return self.text[:50] + "..."
# untitled/untitled/settings.py
# ···
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 我的应用程序
'learning_logs',
]
# ···
接着,先后执行命令python manage.py makemigrations learning_logs
和python manage.py migrate
,前者生成一个文件0001_initial.py告诉Django如何修改数据库,后者就让Django修改数据库了。
为应用程序定义模型时,Django提供的管理网站让你能够轻松地处理模型。
创建超级用户:
向管理网站注册模型:
# untitled/learning_logs/admin.py
from django.contrib import admin
# Register your models here.
from learning_logs.models import Topic, Entry
admin.site.register(Topic)
admin.site.register(Entry)
使用超级用户访问管理网站http://127.0.0.1:8000/admin/
。
我们可以在管理网站管理模型的数据:
输入一些数据后,就可通过交互式终端会话以编程方式查看这些数据了。这种交互式环境称为Django shell,是测试项目和排除其故障的理想之地。
参考资料:《Python编程从入门到实践》—【美】Eric Matthes 著
原文:https://www.cnblogs.com/gzhjj/p/10589519.html