do01
do01

do01

مشکل نشناختن پکیج ها اصلی پایتون و جانگو در pycharm !

امروز به طرز عجیبی یهو دیدم که هیچ کدوم از پکیج ها رو pycharm نمیتونه پیدا کنه و import کردن پکیج ها قرمز شده بود . کد کار میکرد ها ولی خب پکیج ها رو نمیشناخت یه سری تو اینترنت گشتم گفتن باید روت پروژه رو به عنوان source root به pycharm معرفی کنید. مراحلش رو انجام دادم به شکل زیر:

project root -> right click -> make directory as -> mark as source root

,ولی جالب اینه که این هم درستش نکرد بازم تو اینترنت گشتم دیدم یکی گفته قانون قدیمی برنامه نویسها رو استفاده کنید البته بیشتر جوکه تا قانون (میگه اگه یه برنامه نویس ماشینش خراب بشه اعتقاد داره اگه همه پیاده شن و ماشین رو از نو روشن کنن و بشینن پشتش به احتمال زیاد مشکلش حل میشه ) خب در این مورد هم این کار رو گفته بود یارو این که از اساس بزنید پوشه .idea که کل تنظیمات pycharm توشه رو حذف کنید و از نو به عنوان یه پروژه dajngo بازش کنید و بزارید تنظیماتش رو از اول بسازه.

جالب این که این روش جواب داد و همه چی درست شد البته معرفی کردن روت پروژه رو هم محض اطمینان طبق دستور العمل اول که گفتم انجام دادم

اتصال virtualenv ساخته شده در حالت active به terminal محیط برنامه نویسی pycharm

خیلی دلم میخواست وقتی ماژولی رو میخوام سریعا ترمینال pycharm رو باز کنم  و فوری با pip دانلودش کنم ولی هر بار باید مسیر محیط مجازی رو در ترمینال  وارد میکردم بعد به حالت اکتو میبردم . ولی خب یه راه خلاصه داره که تو تنظیمات pycharm خودش این کار رو میکنه.

Pycharm ->File -> Settings -> Tools -> Terminal -> Shell Path

مراحل زیر:مقدار shell path رو با خط زیر پر کنید.

"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""

my_env محیط مجازی من هست که قبلا ساختنم و ماژول های مورد نیازم رو توش دارم . شما باید مسیر محیط مجازی که خودتون ساختید رو بهش بدید.

فعال کردن virtualenv در ویندوز

معمولا در کتابها یا راهنما ها برای فعال کردن محیط ایزوله پایتون از دستور زیر استفاده میکنند.

source  my_env/bin/activate


ولی وقتی در در کامند پرامپت ویندوز میخواید همین کار رو انجام بدید باید از دستور زیر استفاده کنید.

my_env/scripts/activate.bat


یعنی چون در واقع دستور source در ویندوز وجود ندارد باید با bat فایلی که برای این کار ساخته شده است محیط ایزوله را فعال کنیم.

توضیحات بیشتر رو از داکیومنت virtualenv میتونید بخونید.


لینک همین مشکل در stackoverflow


کتاب Django by exampe همراه با سورس

خب این کتاب یکی از بهترین کتابها برای شروع ساده و تقریبا جامع در مورد فریم ورک جانگو هست. این کتاب کاملا عملی همراه چند تا پروژه (وبلاگ، فروشگاه ، شبکه اجتماعی و ..) خیلی از بخش هایی که هر کسی برای راه اندازی یه سایت درست حسابی باهاش برخورد میکنه رو توضیح میده مثلا نحوه مدیریت کردن عکس در سایت، استفاده از ایمیل خودکار برای مشتری، ساختن یه سرچ انجین حرفه ای برای سایت ، راه اندازی ربیت انکیو برای تضمین انجام یه سری تسک ها که در هیچ صورتی نباید ناموفق بشن مثلا ایمیل فاکتور مشتری یا .. ، استفاده از وب سرویس و ایجاد امنیت برای سایت و کاربرها . خلاصه من خیلی چیزهای ازش یاد گرفتم و واقعا تو پروژه تستی خودم کارایی داشت. امیدوارم برای شما هم مفید باشه.



لینک دانلود مستقیم

لینک دانلود غیر مستقیم

لینک دانلود پروژه ها


خروجی فارسی (UTF-8) در پایتون

import codecs
import os
import sys

output_str = "تست خروجی فارسی"
if sys.stdout.encoding == 'UTF-8':
print(output_str)
else:
output_str += os.linesep
if sys.version_info[0] >= 3:
sys.stdout.buffer.write(bytes(output_str.encode('utf-8')))
else:
codecs.getwriter('utf-8')(sys.stdout).write(output_str)