源码安装
下载源码,进入源码的根目录执行 python setup.py install
注意:支持Python 3+ 和 支持Python 2.7以上
创建项目
django-admin startproject [项目名称]
项目的目录结构
manage.py命令
启动服务器
python manage.py runserver
开启服务器,默认地址为127.0.0.1:8000
python manage.py runserver 0.0.0.0:8000
指定0.0.0.0:8000,这个 IP 地址是告诉服务器去侦听任意的网络接口。
项目启动后,通过你的电脑IP地址就可以在手机上访问到你的项目了。
比如:我的电脑IP是 192.168.1.5 那么手机的访问地址就是:http://192.168.1.5:8000
注意:还必须在项目里找到setting.py ,在里面的的 ALLOWED_HOSTS里加上自己电脑的ip地址 ,不加ip地址的话,手机访问不到
wsgi.py
url.py
setting.py
_init_.py
Python中声明模块的文件
默认内容为空的
创建应用app
python manage.py startapp blog
注意:千万千万千万千万千万千万千万千万不要忘了新建app后,把他添加到setting.py的INSTALLED_APPS里
注意:千万千万千万千万千万千万千万千万不要忘了新建app后,把他添加到setting.py的INSTALLED_APPS里
注意:千万千万千万千万千万千万千万千万不要忘了新建app后,把他添加到setting.py的INSTALLED_APPS里
应用目录结构
admin.py:应用的后台管理配置
apps.py:该应用的一些配置
models.py:数据模块,使用ORM框架,类似于MVC框架的models(模型)
tests.py:自动化测试模块
views.py:执行响应代码所在的模块,代码逻辑处理的主要地点,项目中的大部分代码在这里编写
创建第一个响应
from django.shortcuts import render
from django.http import HttpResponse
Create your views here.
def first(request):
return HttpResponse(‘Hello world!+++’)
from django.contrib import admin
from django.urls import path
导包 因为要引用函数
import blog.views as bv
urlpatterns = [
path(‘admin/’, admin.site.urls),#这是admin的url地址,此处先忽略
path(‘first/’, bv.first),#给first请求配置url
]
请求url为:http://127.0.0.1:8000/first/
配置url的第二种方式
以上方式是把所有的url都配置在了项目的根url里了,这样不便于维护,每个应用的url应该由该应用来维护
在应用下的url
from django.urls import path
from . import views#记得导包,从当前目录导入views.py
urlpatterns = [
第一个参数是地址,第二个参数是响应函数
path(‘first/’, views.first),
]
根目录下的url
from django.contrib import admin
from django.urls import path, include
导包 因为要引用函数
import blog.views as bv
urlpatterns = [
path(‘admin/’, admin.site.urls),#这是admin的url地址,此处先忽略
path(‘first/’, bv.first),#不要使用这在根url里配置地址的方式
引入应用内的url方式来代替
path(‘’, include((‘blog.urls’),
]
这个请求的url为:http://127.0.0.1:8000/first/
第一个Template
第一步:
第二步:
第三步:
该页面的路径为:http://127.0.0.1:8000/second/
后台给页面传递参数
解决不同应用下的Template同名冲突
Models是什么
第一步:编写Models
from django.db import models #引入models模块
# Create your models here.
class Article(models.Model):#创建一个类继承自models.Model(对应于数据库一张表)
# 创建两个字段
title = models.CharField(max_length=32, default='Title')
content = models.TextField(null=True) # 可为空
第二步:执行命令完成迁移
python manage.py makemigrations
python manage.py migrate
总结:
面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。
有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。
有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!
[外链图片转存中…(img-FJcgcyif-1714484798387)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!