خروج از سیستم (Logout)

سلام اولین کار این است که مسیر جدید را در urls.py اضافه کنیم. myproject/urls.py from django.conf.urls import url from django.contrib import admin from django.contrib.auth import views as auth_views from accounts import views as accounts_views from boards import views urlpatterns = [ url(r’^$’, views.home, name=’home’), url(r’^signup/$’, accounts_views.signup, name=’signup’), url(r’^logout/$’, auth_views.LogoutView.as_view(), name=’logout’), url(r’^boards/(?P<pk>\d+)/$’, views.board_topics, name=’board_topics’), url(r’^boards/(?P<pk>\d+)/new/$’, views.new_topic, […]

بهبود قالب ثبت نام

سلام برای دانلود الگویی تکرار‌شونده در پس‌زمینه می توان به آدرس https://www.toptal.com/designers/subtlepatterns مراجعه کرد. بعد از دانلود آن، یک فولدر جدید با نام img درون فولدر static ایجاد می‌کنیم. بعد از آن درون فولدر static/css یک فایل css جدید با نام accounts.css می سازیم. myproject/ |– myproject/ | |– accounts/ | |– boards/ | |– […]

بهبود وضعیت فایل های تست

سلام در حال حاضر تمام کدهای مربوط به تست برنامه را درون فایل قرار accounts/tests.py می دهیم. یک فایل طولانی و بلند… در این قست می خواهیم برنامۀ تست را به چند فایل متفاوت تقسیم‌بندی کنیم. برای اینکار یک فولدر با نام tests داخل فولدر accounts ایجاد می کنیم. درون این فولدر یک فایل خالی […]

اضافه کردن فیلد ایمیل به فرم ثبت نام

سلام به صورت پیش فرض فیلد ایمیل در UserCreationForm وجود ندارد اما به راحتی آن را می‌توان به فرم اضافه کرد. فایلی به نام forms.py را در فولدر accounts  ایجاد کنیم. accounts/forms.py from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class SignUpForm(UserCreationForm): email = forms.CharField(max_length=254, required=True, widget=forms.EmailInput()) class Meta: model = […]

گزیده کتاب های برگزیده: #۵ فقط برای تفریح

سلام

اخطار!: توضیحاتِ این رنگی رو اگر دیدید ازش عبور کنید چون تکراریه و مستقیم برید سر نوشته های مشکی!

وقتی کتاب خوبی رو می خونم علاوه بر اینکه کلیت کتاب برام لذت بخشه معمولاً در هر کتاب چند قسمتِ چند خطی وجود داره که نظرم رو به خودش جلب می کنه و در قالب متن کوتاهی قابل جدا کردنه. این قسمت ها شاید نهایتاً نصف صفحه باشند. تصمیم گرفتم این موارد رو در وبلاگ قرار بدم. هر کتاب یک شماره خواهد خورد. مثلاً بازی تاج و تخت (و نه سری کامل نغمۀ آتش و یخ) اولین کتابی هست که قرار دادم و شماره اش می شه #۱. برای دنبال کردن بقیه موارد روی این لینک (گزیده کتاب های برگزیده) کلیک کنید. شاید خوندن همین چند خط باعث شد تا شما هم به اون کتاب علاقمند بشین و شروع کنید به خوندن تمام این کتاب.

این کتاب رو چون علاقۀ شخصی و لینوکسی خودم هست بیش از یک کتاب رمان گزیده کردم و طبیعتا رویکرد متفاوتی از رمان داشتم. تعداد گزیده ها زیاد شده اما اگر بخونید تقریبا با شرایط زندگی لینوس توروالدز و چگونگی سیر تکاملی لینوکس آشنا خواهید شد. توصیه می کنم هر جا به کتاب علاقمند شدید دیگه گزیده های من رو نخونید، صفحه رو ببندید و مستقیماً برید برای مطالعۀ متن کامل کتاب که جادی اون رو ترجمه کرده و به صورت رایگان برای انواع دانلود قرار داده.

قطعۀ ۱

و او هیچ علاقه‌ای نداشت که به حلقه صاحبان پول و قدرت وارد شود. از او پرسیدم که در یک ملاقات فرضی دوست دارد چه چیزی به بیل گیتس بگوید و جواب داد که اصولا علاقه‌ای به این ملاقات ندارد. می‌گوید: «نقطه اتصال چندانی با هم نداریم، من هیچ علاقه‌ای به چیزی که او در آن بهترین در دنیاست، ندارم و او هم هیچ علاقه‌ای به چیزی ندارد که ممکن است من یکی از بهترین‌های آن در دنیا باشم. من نمی‌توانم در مورد تجارت به او توصیه‌ای بکنم و او هم درباره فناوری، توصیه‌ای برای من ندارد.»…

تست ویوی ثبت نام

سلام کد تست را به شکل زیر بهتر می کنیم. accounts/tests.py from django.contrib.auth.forms import UserCreationForm from django.core.urlresolvers import reverse from django.urls import resolve from django.test import TestCase from .views import signup class SignUpTests(TestCase): def setUp(self): url = reverse(‘signup’) self.response = self.client.get(url) def test_signup_status_code(self): self.assertEquals(self.response.status_code, 200) def test_signup_url_resolves_signup_view(self): view = resolve(‘/signup/’) self.assertEquals(view.func, signup) def test_csrf(self): self.assertContains(self.response, […]