Django2.0:【Django2.0教程】02.入门仪式:Hello World 视频学习笔记

视频地址:02.入门仪式:Hello World

进入到需要放置项目的路径,使用如下命令创建项目:

$ django-admin startproject mysite
这里,mysite为项目名称,也可以是其他的名字。进入到mysite目录之后,可以看到目录结构如下:
.
├── manage.py
└── mysite
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

1 directory, 5 files

manage.py:管理整个Django项目的文件;
mysite/__init__.py:python包必须包含的文件;
mysite/settings.py:项目的全局设置文件;
mysite/urls.py:整个网站的路由控制,规定哪些url可以访问;
mysite/wsgi.py:网站部署时会用到的文件。

创建python文件mysite/views.py,写入如下代码:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world")

参数request为固定的参数,表示接收的请求,可以通过其获取请求包含的参数等。HttpResponse()方法返回响应。

在mysite/urls.py文件中添加代码,修改为如下内容:

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index),
]

from . import views表示导入刚才写的views.py。path()方法一共有三个参数,这儿只用到了两个,第一个参数为网址,第二个参数为响应的方法。

使用如下命令启动服务器:

$ python manage.py runserver
打印出如下信息:
Performing system checks...

System check identified no issues (0 silenced).

You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

May 11, 2018 - 05:15:36
Django version 2.0.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
打开浏览器,输入网址: http://127.0.0.1:8000 或者 http://localhost:8000

入门仪式完成!

Django1.x版本中,没有path()方法,而是使用url()方法,该方法第一个参数使用正则表达式;在Django2.x中,可以使用re_path()方法,其第一个参数使用正则表达式,如同url()方法。例如:

from django.contrib import admin
from django.urls import re_path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('^$', views.index),
]
`path(‘admin/’, admin.site.urls)`指向的是后台管理,可以通过网址: http://127.0.0.1:8000/admin 访问。视频中没有出现报错,不过,我在运行的时候遇到报错了:
[11/May/2018 05:32:04] "GET /admin HTTP/1.1" 301 0
Internal Server Error: /admin/
Traceback (most recent call last):
  File "/home/kai/anaconda3/envs/django/lib/python3.6/site-packages/django/contrib/sessions/backends/base.py", line 191, in _get_session
    return self._session_cache
AttributeError: 'SessionStore' object has no attribute '_session_cache'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kai/anaconda3/envs/django/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/kai/anaconda3/envs/django/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 303, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: django_session
...
Ctrl+C关闭服务器。运行如下命令,初始化数据库:
$ python manage.py migrate
目录下多了一个db.sqlite3文件。再次运行服务器,发现输出中少了几句话。再次访问 http://127.0.0.1:8000/admin 。

因为还没有创建用户,所以先去创建用户。使用如下命令:

$ python manage.py createsuperuser

按照提示创建用户。完成之后登录。

如果记不住以上命令,可以使用

$ python manage.py help

获取帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来回答您的问题。 首先,Django 是一个流行的 Python Web 框架,它提供了许多强大的功能,其中之一就是 ORM(对象关系映射)。 ORM 允许您使用 Python 对象来处理数据库操作,而不是直接编写 SQL 语句。这样做有很多好处,比如更容易维护和更易于理解。 下面是一些基本的 ORM 操作,用于在 Django 中执行增删改操作。 首先,要使用 ORM,您需要在您的 Django 项目中创建一个模型。模型是一个 Python 类,它代表了数据库中的一个表。 例如,这是一个简单的模型类,它代表了一个名为 `Book` 的表: ``` from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) published_date = models.DateField() ``` 接下来,我们可以使用以下代码将一个新的 `Book` 对象插入到数据库中: ``` book = Book(title='Django for Beginners', author='William Vincent', published_date='2021-01-01') book.save() ``` 我们可以使用以下代码来更新一个现有的 `Book` 对象: ``` book = Book.objects.get(title='Django for Beginners') book.author = 'William S. Vincent' book.save() ``` 最后,我们可以使用以下代码来删除一个 `Book` 对象: ``` book = Book.objects.get(title='Django for Beginners') book.delete() ``` 这些是最基本的 ORM 操作,但是 Django ORM 还提供了许多其他的高级功能,比如过滤、排序和聚合查询等。如果您想了解更多信息,请查看 Django 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值