[ Web Proxy ]
URL:
Viewing:
https://raw.githubusercontent.com/We2one/Notes/master/python-basic-notes/python-days/Day_41.md
[Back]
[Original]
### Django #### Django Form ##### Django 1. 1. get : ,,get ? ,,&, 2. post : , 2. + request , + request "django.http.HttpRequest" + | | | | ------------------------------ | ----------------------------------- | | `request.GET`() | get | | `request.POST`() | post | | `request.FILES`() | | | `request.method`() | | | `request.META` | | | `request.META.OS` | | | `request.META.HTTP_USER_AGENT` | , | | `request.META.HTTP_HOST` | | | `request.META.HTTP_REFERER` | | ##### Django 1. HTML form | | | | ------------- | -------------------------------- | | `action=""` | , | | `method=""` | , get | | `name=""` | | | `type=submit` | | 2. + CSRF : Django 1.4 CSRF setting , CSRF ```python MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', # CSRF 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ``` + CSRF : cookie + **Django CSRF ** 1. form , CSRF , ```html // {% csrf_token %}
name:
``` 2. post **render** ,render render_response , render request, request, `{% csrf_token %}` 3. `{% csrf_token %}` form hidden , name csrf-middlewaretoken, value CSRF ##### Django 1. 1. Django Form , Form : 1. HTML 2. 3. , () 4. ( Python ) 2. 1. : Django , HTML , 2. : request Form, Form , is_valid , True , ```python def reg_form(request): if request.method == 'POST': # user_form = forms.UserForm(request.POST) if user_form.is_valid(): # data = user_form.cleaned_data name = data.get('name') ... else: return render(request, 'register_form.html', {'user_form': user_form}) return render(request, 'register_form.html') ``` 2. 1. : forms.py ````python class SellerForm(forms.Form): username = forms.CharFiled(required=True, error_messages={'required': ''}) password = forms.CharFiled(required=True, min_length=6, error_messages={'required': '', 'min_length': ' 6 '}) def clean_username(self): username = self.cleaned_data.get('username') if 'sb' in username: raise ValidationError('') ```` 2. 3. ```html
{{ seller_form.username.errors.0 }}
``` ##### Django 1. 1. , Field , validators , 2. ```python class SellerForm(forms.Form): username = forms.CharFiled(required=True, error_messages={'required': ''}) password = forms.CharFiled(required=True, min_length=6, error_messages={'required': '', 'min_length': ' 6 '}) email = forms.CharField( required=True, validators=[RegexValidator(r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$', '')], error_messages={'required', '!'} ) ``` 3. | | | | ---------------------- | ------------------- | | `MaxValueValidator()` | | | `MinValueValidator()` | | | `MinLengthValidator()` | | | `MaxLengthValidator()` | | | `EmailValidator()` | | | `URLValidator()` | URL | | `RegexValidator()` | | 2. 1. (: `()`,: ``) ```python # class OurValid: def __call__(self, value): if 'sb' in username: raise ValidationError('') # def nextValid(value): if 'sb' in username: raise ValidationError('') class OurForm(forms.Form): name = form.CharField( max_length=32, validators=[OurValid(), nextValid] ) ``` 2. Django , Form , `clearn_`, , ValidationError ,, + views.py ```python def clean_username(self): username = self.cleaned_data.get('username') if 'sb' in username: raise ValidationError('') ``` ##### Django 1. cookie 1. : UTC , 8 ``` TIME_ZONE = 'Asia/Shanghai' USE_TZ = False ``` 2. cookie 1. cookie ( ): `response.set_cookie(,,)` 2. cookie : `response.delete_cookie()` 3. cookie : `request.COOKIES.get()` 2. session 1. session Django 2. session 1. session : `request.session[]=` + ,, : `request.session.set_expiry()` 2. session : `request.session.get()` 3. session 1. : `del request.session[]` 2. : `request.session.clear()` 3. session 1. sessionid 2. sessionid , 3. sessionid , , 3. : , 1. session 2. view session 3. 4. 5. ##### 1. : , 2. : ```python def check_login(func): def inner(request): seller_name = request.COOKIES.get('seller_name') if seller_name: return func(request) else: return redirect('seller/login/') return inner ``` 3. :
Web Proxy Viewer |
New URL
|
Original Page