码迷,mamicode.com
首页 > Web开发 > 详细

django下载安装 url路由

时间:2019-07-17 18:40:10      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:HERE   utf-8   err   orm   ima   p12   认证   render   关闭   

django下载安装

官网地址:https://www.djangoproject.com/download/
1、下载Django:
pip3 install django==1.11.9
2、创建一个django project
django-admin startproject mysite 创建了一个名为"mysite"的Django 项目:
3、创建的项目文件介绍
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库,启动关闭项目与项目交互
等,不管你将框架分了几个文件,必然有一个启动文件,其实他们本身就是一个文件。
settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py ----- 负责把URL模式映射到应用程序。
wsgi.py ---- runserver命令就使用wsgiref模块做简单的web server,后面会看到renserver命令,所有与
socket相关的内容都在这个文件里面了,目前不需要关注它。
4、运行项目
python manage.py runserver 127.0.0.1:8080 #此时已经可以启动django项目了,只不过什么逻辑也没有

通过指令运行项目的时候,可以不写ip地址,如果不写,默认是127.0.0.1
python manage.py runserver 8080
如果连端口都不写,默认是8000端口
python manage.py runserver

pycharm创建项目
技术图片
技术图片
技术图片
技术图片
技术图片
写项目
1 创建项目 first_pro
2 创建app app01
做一个登录页面的web项目,浏览器输入一个网址得到一个web页面
用户: http:127.0.0.1:8001/login/
1 urls.py
from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [

url(r‘^admin/‘, admin.site.urls),

url(r‘^index/‘, views.index), #配置路径,r‘^/index/‘,这个前置导航斜杠不需要添加.
]
2 写逻辑视图
from django.shortcuts import render,HttpResponse

Create your views here.

def index(request):
print(request.method) #‘POST‘ ‘GET‘
if request.method == ‘GET‘:
return render(request,‘login.html‘)
else:

print(request.GET)

print(request.POST)
username = request.POST.get(‘username‘)
password = request.POST.get(‘password‘)
if username == ‘dazhuang‘ and password == ‘123‘:
return HttpResponse(‘登录成功!‘)
else:
return HttpResponse(‘登录失败!‘)
3 创建html文件
在templates文件夹中创建一个login.html文件
get请求获取数据
<!DOCTYPE html>






Bootstrap 101 Template



欢迎来到登录页面



用户名:
密码:




urls.py里面需要注意的问题
url(r‘^index/‘, views.index), 第一个参数:路径正则字符串 第二个参数:对应的视图函数
views.py
def login(request):
获取请求方法,request.method--‘GET‘,‘POST‘
request.GET -- GET请求发送来的所有数据,queryDict类型
request.POST -- POST请求发送来的所有数据,queryDict类型

request.POST.get(‘username‘)
request.GET.get(‘username‘)
return HttpResponse(‘字符串‘) --- 回复字符串数据
retuen render(request,‘login.html‘)
post请求提交数据时关掉一个认证机制,settings配置文件中
url配置
无名分组
位置参数
有名分组
def index(request):
print(request.GET) #<QueryDict: {‘username‘: [‘dazhuang‘], ‘password‘: [‘123‘]}>
username = request.GET.get(‘username‘)
password = request.GET.get(‘password‘)
print(username,password)
if username == ‘dazhuang‘ and password == ‘123‘:
return HttpResponse(‘登录成功!‘)
else:
return HttpResponse(‘失败!‘)
MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware‘,
‘django.contrib.sessions.middleware.SessionMiddleware‘,
‘django.middleware.common.CommonMiddleware‘,

‘django.middleware.csrf.CsrfViewMiddleware‘,

‘django.contrib.auth.middleware.AuthenticationMiddleware‘,
‘django.contrib.messages.middleware.MessageMiddleware‘,
‘django.middleware.clickjacking.XFrameOptionsMiddleware‘,
]
url(r‘^books/(\d{4})/‘, views.books),
url(r‘^books/(\d{4})/‘, views.year_books), #匹配年份的
url(r‘^books/(\d{4})/(\d{1,2})/‘, views.year_month_books), #匹配年份和月份的

http://127.0.0.1:8000/books/2001/

视图:
def year_month_books(request,year,month): #位置参数,第一个参数接收的就是无名分组路径中匹配
到的第一个分组的数据,第二个参数接收的就是无名分组路径中匹配到的第二个分组的数据
print(year,month)

return render(request,‘books.html‘)

return HttpResponse(year+month)
默认值
url(r‘^books/(?P\d{4})/(?P\d{1,2})/‘, views.year_month_books), #匹配年份和月
份的
def year_month_books(request,month,year): #形参名称要和url中的分组名对应好,参数位置就没有要求

print(year,month)

return render(request,‘books.html‘)

return HttpResponse(year+month)

urls.py中

from django.conf.urls import url
from . import views
urlpatterns = [
url(r‘^blog/$‘, views.page),
url(r‘^blog/page(?P[0-9]+)/$‘, views.page),]

views.py中,可以为num指定默认值

def page(request, num="1"):
pass

django下载安装 url路由

标签:HERE   utf-8   err   orm   ima   p12   认证   render   关闭   

原文地址:https://www.cnblogs.com/xpitnb/p/11202707.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!