Django学习笔记(一)--总况

本文档为Django新手提供从项目创建到模型定义的基础教程,包括环境搭建、项目及应用创建、模型激活等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要是来源于官方文档学习
http://django-chinese-docs-16.readthedocs.io/en/latest/index.html
主要记录我一个菜鸟的学习过程和总结,大牛绕行

  • 创建项目
    我是python3.3.5环境,环境安装过程前面有,使用pip安装了最新的Django1.10发现用不了(Python3.5支持),于是降级手动安装了Django1.6
    cd 到django的bin目录下执行
    Python3 django-admin.py startproject mysite
    创建了项目
  • 目录解读
 mysite/
    manage.py
    mysite/
        __init__.py
        settings.py----项目的配置文件
        urls.py---通过浏览器访问那个app,通过这个来找
        wsgi.py---尚不知
  • 运行项目
    python3 manage.py runserver 0.0.0.0:8080
    这样我们就可以通过IP访问,如果没有0.0.0.0则只能本机127.0.0.1的形式访问
    其他机器访问记得关闭防火墙:iptables -F
    访问方式http://IP:port

  • 创建app(应用)
    app必须在项目下创建(mysite),一个项目可以有多个app,后面我们用到的admin也可以把它当作一个管理应用,但是管理应用默认创建,不需要我们手动创建了。app可以在不同的项目之间移植(尚未试验)
    python3 manage.py startapp polls
    生成下面目录:对目录还不了解没关系,后面会慢慢理解

polls/
    __init__.py
    admin.py
    models.py---模型层,与数据直接对应
    tests.py---测试程序,单元测试使用
    views.py---显示层,个人觉得更像mvc模型里面控制层,templates则更像是表示层
    urls.py---这个是自己创建的,后面有用到,和mysite里面的urls.py作用类似
  • 激活模型
    其实就是将对象和数据库里面的数据对应起来,描述可能有误。这里我们不用管数据的运行逻辑,也不用自己创建表,django都能根据我们的model创建数据库和表,类似于java的hibernate
    第一步:
    修改mysite/settings.py
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',#把我们的项目加到这里面
)

第二步:执行第二步之前,先编辑一下我们的model.py (往下看)
/mysite目录下执行
python3 manage.py syncdb
这一步会有很多提示,正常走下去就行了,设置好admin的用户名和密码,记得记住用户名和密码
python manage.py sql polls
执行后,发现创建了对应的表

BEGIN;
CREATE TABLE "polls_poll" (
    "id" integer NOT NULL PRIMARY KEY,
    "question" varchar(200) NOT NULL,
    "pub_date" datetime NOT NULL
);
CREATE TABLE "polls_choice" (
    "id" integer NOT NULL PRIMARY KEY,
    "poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"),
    "choice_text" varchar(200) NOT NULL,
    "votes" integer NOT NULL
);
COMMIT;
  • 编辑model层

    model层是数据逻辑层,即与数据库交互的作用,在django中我们只要关注medel.py (我还只是学到这就先这么理解吧)
    编辑/polls/model.py
    先不理解意思没关系,后面单独学。总之就是为了创建表,构建表结构

 from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

其他:要加上才是一个对象

def __str__(self):
     return self.choice_text

还可以加其他方法属性都是直接加到,poll类里面

def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

这些都是可以直接调用的
先到这里,还差view层,模板层,各自语法单独学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值