欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

django 学习笔记

发布时间:2025/7/25 88 豆豆
生活随笔 收集整理的这篇文章主要介绍了 django 学习笔记 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
django 学习笔记

启动虚拟机:

workon bj18_py3

创建一个项目:

django-admin.py startproject mysite

启动开发用服务器:从外层项目 mysite 目录切换进去,若准备好了就运行命令:

python manage.py runserver

python manage.py runserver 8080

python manage.py runserver 0.0.0.0:8000 你将会看到命令行输出如下内容:  Performing system checks...  0 errors found  May 13, 2015 - 15:50:53  Django version 1.8, using settings 'mysite.settings'  Starting development server at http://127.0.0.1:8000/  Quit the server with CONTROL-C.    请在你的 Web 浏览器中访问 http://127.0.0.1:8000/。你会看到一个令人愉悦的,柔和的淡蓝色 “Welcome to Django” 页面。它工作正常! 也可以指定  python manage.py runserver 0.0.0.0:8001   指定地址和端口。 数据库设置: 以mysql数据库为例,编辑 mysite/settings.py。 DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite_db', #使用数据库名称,数据库必须提前创建好'USER': 'root', #链接数据库的用户名'PASSWORD': 'itcast', #链接数据库的密码'HOST':'localhost', #配置数据库的ip地址'PORT':'3306', #配置数据库的端口号 } }

这时,启动开发服务器出错,原因是缺少MySQLdb模块,用pip list 命令查看,

(bj18_py3) python@ubuntu:~/bj18/mysite$ pip list Package Version ------------- ------- Django 1.8.2 pip 19.1.1 pkg-resources 0.0.0 PyMySQL 0.9.3 setuptools 41.0.1 wheel 0.33.1

这时,python3需要用pip install pymysql 安装。安装成功后在__init__.py文件加入:

 

import pymysql pymysql.install_as_MySQLdb()

 

然后启动开发用服务器。

创建模型: 项目 ( Projects ) vs. 应用 ( apps ) 项目与应用之间有什么不同之处?应用是一个提供功能的 Web 应用 – 例如:一个博客系统、一个公共记录的数据库或者一个简单的投票系统。 项目是针对一个特定的 Web 网站相关的配置和其应用的组合。一个项目可以包含多个应 用。一个应用可以在多个项目中使用。

 

要创建你的应用,请确认与 manage.py 文件在同一的目录下并输入以下命令:

python manage.py startapp polls

在这简单的投票应用中,我们将创建两个模型: Poll 和 Choice 。 Poll 有:问题和发布日期两个字段。 Choice 有两个字段: 选项 ( choice ) 的文本内容和投票数。每一个 Choice 都与一个 Poll 关联。这些概念都由简单的 Python 类来表现。编辑 polls/models.py 文件后如下所示:

class Question(models.Model):
    question_text = models.CharField(max_length=200)          #一些 Field 实例是需要参数的。 例如 CharField 需要你指定~django.db.models.CharField.max_length 。
    pub_date = models.DateTimeField('date published')    #你可以在初始化 Field 实例时使用第一个位置的可选参数来指定人类可读的名字。这在Django的内省部分中被使用到了,而且兼作文档的一部分来增强代码的可读性。若字段未提供该参数,Django 将使用符合机器习惯的名字。在本例中,我们仅定义了一个符合人类习惯的字段名 Poll.pub_date 。对于模型中的其他字段,机器名称就已经足够替代人类名称了。
class Choice(models.Model):
    poll = models.ForeignKey(Question)                       #定义了一个关联。它告诉 Django 每一个 Choice 关联一个 Poll 。
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)               #一个 Field 实例可以有不同的可选参数; 在本例中,我们将 votes 的 default 的值设为 0。

 Django 支持常见数据库的所有关联:多对一(many-to-ones ),多对多( many-to-manys ) 和 一对一 ( one-to-ones )。

  激活模型 有了这些模型代码 Django 就可以做:为该应用创建对应的数据库架构 (CREATE TABLE statements) 。 为 Poll 和Choice 对象创建 Python 访问数据库的 API 。 首先,我们需要告诉我们的项目已经安装了 polls 应用。再次编辑 settings.py 文件,在 INSTALLED_APPS 设置中加入 'polls' 字符。因此结果如下所示: INSTALLED_APPS = ('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','polls', ) 现在 Django 已经知道包含了 polls 应用。让我们运行如下命令: python manage.py makemigrations #生成迁移文件
python mange.py migrate #执行迁移生成表

 

进入管理网站: 在sattings.py设置本地化 LANGUAGE_CODE = 'zh-CN'TIME_ZONE = 'Asia/Shanghai'

 

 设置超级管理员账户密码 python manage.py syncdb

python manage.py createsuperuser#创建超级用户 我们需要告诉管理网站 Poll 对象要有一个管理界面。为此,我们在你的 polls 目录下创建一个名为 admin.py 的文件,并添加如下内容: from django.contrib import admin from polls.models import Question,Choice
class QuestionAdmin(admin.ModelAdmin):
    list_display = ["id","question_text","pub_date"]
class ChoiceAdmin(admin.ModelAdmin):
    list_display = ["id","choice_text","votes","poll_id"]
admin.site.register(Question,QuestionAdmin)
admin.site.register(Choice,ChoiceAdmin)

 修改models.py文件,返回名字:

class Question(models.Model):question_text = models.CharField(max_length=200) #一些 Field 实例是需要参数的。 例如 CharField 需要你指定~django.db.models.CharField.max_length 。pub_date = models.DateTimeField('date published') #你可以在初始化 Field 实例时使用第一个位置的可选参数来指定人类可读的名字。这在Django的内省部分中被使用到了,而且兼作文档的一部分来增强代码的可读性。若字段未提供该参数,Django 将使用符合机器习惯的名字。在本例中,我们仅定义了一个符合人类习惯的字段名 Poll.pub_date 。对于模型中的其他字段,机器名称就已经足够替代人类名称了。def __str__(self):return self.question_text class Choice(models.Model):poll = models.ForeignKey(Question) #定义了一个关联。它告诉 Django 每一个 Choice 关联一个 Poll 。choice_text = models.CharField(max_length=200)votes = models.IntegerField(default=0) #一个 Field 实例可以有不同的可选参数; 在本例中,我们将 votes 的 default 的值设为 0。def __str__(self):return self.choice_text

 

 

                posted on 2019-07-03 07:17 qiaoliang0302 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ql0302/p/11124158.html

总结

以上是生活随笔为你收集整理的django 学习笔记的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。