Django学习笔记

2019/7/25 更新

如何开始?

初始化:利用IDE内置的编辑器自动初始化

目录结构(设应用名为MySite

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

添加一个APP

这里的 y o u r A p p N a m e yourAppName yourAppName是你自己定义的app的名字

python manage.py startapp $yourAppName$

编辑setting.py的INSTALLED_APPS, 添加一个

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    '$yourAppName$.apps.$yourAppName$Config', # 这里跟着IDE的自动补全就好
]

在$yourAppName$/文件夹下新建一个urls.py, 添加内容

from django.urls import path
from . import views

urlpatterns = [

]

如何使用model

  1. 添加

在setting.py 中INSTALLED_APPS 中添加一行内容

'$yourAppName$.apps.$yourAppName$Config',

  1. 执行下列命令

$ python manage.py makemigrations polls

  1. sql迁移

$ python manage.py sqlmigrate polls 0001

  1. 应用数据库迁移
    $ python manage.py migrate

重启Python Console, 现在你可以导入新的model了

如何指定Django ORM数据库的表名, 字段名

举例, 用户(User)

class User(models.Model):
    username = models.CharField(max_length=20, db_column='username')
    password = models.CharField(max_length=20, db_column='user_password')

    class Meta:
        db_table = 'user'

在创建字段的时候指定一下db_column=就可以指定字段名了
在创建model的时候, 内包含一个Meta类, 其中, Meta的db_table属性指定为’user’

关于URL

如何让URL看起来优雅美观大方得体

(url美观学)

可以使用一个{% url %}的标签,举例

<a href="{% url 'detail' question.id %}"> question.name </a> 

这里的URL, 到网页源代码那儿就成了(如果那个id=1,name=“23333”的话

<a href="$yourAppName$/1/">233333</a>

同样, 注意一下相关APP下的urls.py的配置

尽量来个命名空间

app_name="$yourAppName"
urlpatterns = [
    path('', index, name='index'),
    path('<int:message_id>/', detail, name='detail'),
]

关于这个path()

三个参数, url模式,url对应的函数, 名字
建议名字和url对应的函数名对应起来

UNIX 事件戳如何获得?

import time

def getUNIXTimeStamp():
	return time.time()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值