Django学习笔记

Django学习笔记

  • 新建项目
  django-admin startproject mysite
  • 启动开发服务器
  python manage.py runserver

可以指定端口

  python manage.py runserver 8080

指定ip

  python manage.py runserver 0.0.0.0:8000

如果ip写0.0.0.0,整个局域网就可以访问站点,而不止本机

  • 新建应用(app)
  python manage.py startapp app
  • 在app目录新建一个urls.py,该app的路由路径写在这,再在项目的主urls文件加入urlpattern条码
   from django.conf.urls import include, url
   from django.contrib import admin
   urlpatterns = [
       url(r'^app/', include('app.urls')),
       url(r'^admin/', admin.site.urls),
   ]

include语法相当于多级路由,它把接收到的url地址去除前面的正则表达式,将剩下的字符串传递给下一级路由进行判断。

  • 设置数据库,在mysite/settings.py配置,前提是电脑安装好mysql并安装了python的连接库
   DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'root',
           'USER': 'root',
           'PASSWORD': '123456',
       }
   }
  • 建立多对一的数据结构时,外键写在 ‘’ 的一方
    • 运行python manage.py makemigrations为改动创建迁移记录
    • 运行python manage.py migrate,将操作同步到数据库
  • 相比较直接输入“python”命令的方式进入Python环境,调用manage.py参数能将DJANGO_SETTINGS_MODULE环境变量导入,它将自动按照mysite/settings.py中的设置,就可以导入和调用任何你项目内的模块
    python manage.py shell
  • Django推荐使用timezone.now()代替python内置的datetime.datetime.now()
  • 创建管理员用户
  python manage.py createsuperuser
  • get_object_or_404()可以返回404错误,跟下面的代码实现一样效果
        from django.http import Http404
        from django.shortcuts import render
        from .models import Question
        # ...
        def detail(request, question_id):
            try:
                question = Question.objects.get(pk=question_id)
            except Question.DoesNotExist:
                raise Http404("Question does not exist")
            return render(request, 'polls/detail.html', {'question': question})

你可能感兴趣的:(Django学习笔记)