اذهب إلى المحتوى

Mohssen A Mohssen

الأعضاء
  • المساهمات

    317
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Mohssen A Mohssen

  1. لقد قمت بتعيين ملفات الـ cookies بالشكل التالي: from flask import make_response, render_template @app.route('/') def index(): res = make_response(render_template("index")) res.set_cookie('token', '1234') return res app.run() لكن كيف يمكنني إزالة هذه الـ cookies؟ حاولت إستخدام الأكواد التالية ولكن لم تنجح على الإطلاع request.cookies.pop('token', None)
  2. أنا أعمل في مشروع في جانغو Django وبدأت للتو في محاولة توسيع نموذج المستخدم (إضافة المزيد من الخصائص) لإنشاء ملفات تعريف للمستخدمين Profiles. لكن واجهت مشكلة في كل مرة أحاول فيها الحصول على ملف تعريف المستخدم profile داخل قالب template ، أحصل على الخطأ التالي: Hi, {{user.username}} ({{ user.get_profile.rep }}). # الخطأ Exception Type: TemplateSyntaxError at / Exception Value: Caught an exception while rendering: too many values to unpack ما سبب الخطأ الذي يحدث هنا وما الذي يجب أن أفعله لإصلاحه؟
  3. أحاول تطوير موقع ويب باستخدام إطار عمل جانغو Django ونشره على الإنترنت ونشر الملفات الضرورية في المشروع. اضطررت إلى تضمين ملفات ثابتة في مشروع جانغو Django وبعد تجميع الملفات الثابتة، حاولت تحديث عنوان IP الخاص بي، اتلقى الخطأ التالي: DisallowedHost at / Invalid HTTP_HOST header: 'xxx.xxx.xx.xx'. You may need to add u'xxx.xxx.xx.xx' to ALLOWED_HOSTS. ما هو سبب هذه المشكلة وكيف أقوم بحلها؟
  4. لدي نموذج في جانغو django بالشكل التالي: class Article(models.Model): # ... وأريد الحصول على اسم النموذج كـنص ("Article"). عندما أحاول الحصول على الاسم بهذه الطريقة: Article.__class__.__name__ يتم إعادة "ModelBase". كيف أقوم بالحصول على اسم النموذج في جانغو Django؟
  5. لدي النماذج User و Interest، النموذج User لديه علاقة Many-to-Many مع النموذج Interest (وهي عبارة عن models.ManyToManyField(Interest)). أقوم بإنشاء نسخة من User يسمى my_user. وفي الحقل Interest، لديّ مجموعة Interests (اهتمامات) باسم my_interest، على النحو التالي: >>> my_user.interests.all() [my_interest, ...] كيف يمكنني إزالة my_interest من my_user دون حذف أي من المستخدم my_user أو الاهتمامات my_interest من قاعدة البيانات؟ بمعنى آخر، كيف يمكنني إزالة العلاقة دون التأثير على النماذج نفسها لكي تبقى الكائنات موجودة؟
  6. عندما أستخدم التابع values أحصل على قائمة بالعناصر بالشكل التالي: >>> MyModel.objects.values('original_name') [{'original_name': 1}, {'original_name': 2}] ما أريد القيام به هو أن أقوم بإعادة تسميه هذه العناصر لكي تصبح باسم مختلف، على النحو التالي: >>> MyModel.objects.values(new_name='original_name') [{'new_name': 1}, {'new_name': 2}] كيف أقوم بهذا الأمر في جانغو Django؟
  7. أنا أبحث عن طريقة لتنفيذ عملية باقي القسمة في أحد القوالب في جانغو Django. ما أحاول القيام به هو إضافة اسم فئة لكل عنصر رابع في الحلقة. حاولت إستخدام كود كما يلي: {% for p in posts %} <div class="post flex flex-row justify-start {% if forloop.counter0 % 4 == 0 %}bg-black{% endif %}}"> <h2>p.title</h2> <div class="preview"> <!-- ... --> </div> <div class="overlay"> <!-- ... --> </div> </div> {% endfor %} لكن هذا الكود لا يعمل لأن علامة النسبة المئوية % معامل محجوزة في قوالب جانغو Django. أهناك أي طريقة أخرى لعمل هذا؟
  8. لدي قائمة باسم products وأريد أن أقوم بطباعة أول عنصر فيها، لذلك قمت بإستخدام الكود التالي في أحد القوالب Templates: {{ products[0] }} لكن يبدو أن هذه الطريقة لا تعمل، كيف أصل إلى أحد العناصر في قائمة list في جانغو Django؟
  9. أستخدم transaction model في مشروع جانغو لأعرف كل الأحداث التي تحدث على الخادم: class Transaction(models.Model): author = models.ForeignKey(User, related_name="author") articles = models.ForeignKey(User, related_name="articles", null=True, blank=True) action_id = models.IntegerField() # ... أحاول أن أحصل على أعلى 5 كُتاب من خلال النموذج السابق، أي ما يساوي الإستعلام التالي في SQL: SELECT author, COUNT(*) as total FROM Transaction GROUP BY author ORDER BY total DESC كيف أقوم بهذا الأمر في جانغو Django؟
  10. هل من الممكن الوصول إلى forloop.counter لحلقة for الخارجية في القالب Template: {% for parent in ParentItems %} {% for item in parent %} <li>{{ forloop.counter }} - {{ item }}</li> {% endfor %} {% endfor %} في الكود السابق يقوم المتغير forloop.counter بعرض عداد counter الحلقة الداخلية ، لكن ما أريد القيام به هو طباعة عداد الحلقة الخارجية الخاصة بـ ParentItems، كيف أقوم بهذا الأمر؟
  11. أحاول أن أقوم بكتابة وحدة إختبار Unit Test للتأكد من حذف كائن object لذلك قمت بكتابة الكود التالي: from django.utils import unittest def test_user_can_delete_question_response(self): # ... self._driver.get("http://localhost:5000/questions/3") self.assertRaises(Answer.DoesNotExist, Answer.objects.get(body__exact = '<p>User can reply to question\'s answers.</p>')) لكن المشكلة هي ظهور الخطأ التالي بإستمرار: DoesNotExist: Answer matching query does not exist. ما هو الخطأ هنا وكيف أقوم بحله؟
  12. لا يمكنني معرفة كيفية استخدام Flask's streaming. هذا هو الكود الخاص بي: from flask import Flask, url_for, render_template, Response, stream_with_context from time import sleep app = Flask(__name__) @app.route('/') def counter(): def generate(): yield render_template('index.html') for i in range(50): sleep(1) # التوقف لثانية واحدة yield render_template('index.html', **locals()) # تمرير كل المتغيرات المحلية إلى القالب return Response(stream_with_context(generate())) # إرجاع رد يتضمن stream if __name__ == "__main__": app.run(debug=True) في القالب Template أقوم بطباعة المتغير i : <p>{{ i }}</p> أود أن أرى عدادًا على الصفحة يتغير كل ثانية. لكن بدلاً من ذلك، يتم طباعة كل رقم في سطر جديد والصفحة لا تنتهي من التحميل إلا عند الإنتهاء من الحلقة بالكامل أي بعد 50 ثانية.
  13. أحاول إعداد عملية رفع للملفات بحيث إذا قام المستخدم mohssen برفع ملف ما، فيتم حفظ الملف إلى المجلد MEDIA_ROOT/mohssen بدلاً من وضع كل الملفات في المجلد MEDIA_ROOT مباشرة. المشكلة هي أنني لا أعرف كيف أقوم بعمل هذا الأمر في النموذج. هنا الكود الخاص بي حاليًا: class Post(models.Model): title = models.CharField(max_length=200) user = models.ForeignKey(User) thumbnail = models.FileField(upload_to='.') # كيف أغير هذا المجلد ديناميكيًا في الكود السابق سوف يتم رفع الملف إلى المجلد " . " ، ولكن كيف أقوم بتغير هذا المجلد حسب المستخدم بحيث يتم رفع الملف إلى مجلد باسم المستخدم نفسه؟
  14. لدي مشروع فلاسك Flask وقمت بتقسيم المشروع إلى مجلدين Backend و Frontend ، حيث يحتوي المجلد backend على ملفات Python الخاصة بفلاسك Flask، والمجلد Frontend يحتوي على ملفات القوالب: backend |_ app.py frontend |_ view_notifications.html الآن أحاول أن أقوم بإستخدام الملف view_notifications.html من داخل أحد المسارات بالشكل التالي: @app.route('/notifications') def notifications(): return render_template("frontend/view_notifications.html") لكن الكود السابق لم يعمل، حاولت أن أستخدم نقتطين .. للخروج من المجلد ولكن لم يعمل شيء، وفي كل مرة يظهر خطأ TemplateNotFound كيف أقوم بحل هذه المشكلة؟
  15. ادي مشروع جانغو Django project ويحتوي على عدد من التطبيقات Apps في INSTALLED_APPS في ملف settings.py، الآن أريد إزالة أحد التطبيقات بالكامل مع إزالة قاعدة البيانات أيضًا من المشروع. ما هو خطوات إلغاء تثبيت التطبيق بالكامل، مع إزالة قاعدة البيانات كذلك؟
  16. أحاول القيام بمربع للبحث في جوجل مع إمكانية عرض إقتراحات أثناء كتابة كلمة البحث، بطريقة مشابهة للتي يقوم بها جوجل كنوع من التدريب، وبدأت أستخدم Google Suggest Tool للقيام بهذه المهمة، لذلك قمت بكتابة كود JavaScript يقوم بإرسال طلب من نوع GET: $("#search_input").keyup(function(){ var some_var = $(this).val(); // جلب النص الذي قام المستخدم بكتابته في مربع البحث $.ajax({ url: "", type: "get", data:{jsdata: some_var}, success: function(response) { console.log(response); }, error: function(xhr) { alert('error'); } }); بعد ذلك قمت بعمل مسار جديد في فلاسك Flask: @app.route('/', methods=['GET', 'POST']) def suggest_data(): query = request.args.get('jsdata') if query == None: suggestions_list = ['',] else: suggestions_list = [] # إستخراج الإقتراحاات من صفحة جوجل r = requests.get('http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q={}&gl=in'.format(query), 'lxml') soup = BeautifulSoup(r.content) suggestions = soup.find_all('suggestion') for suggestion in suggestions: suggestions_list.append(suggestion.attrs['data']) return render_template('start_page.html', suggestions_list=suggestions_list) ثم قمت بعرض الإقتراحات في قالب بالشكل التالي: <label id="suggestions"> {% for suggestion in suggestions_list %} {{ suggestion }} {% endfor %} </label> لكن المتغير في قالب Jinja لا يتم تحديثه تلقائيًا ويطبع قائمة فارغة. كيف أقوم بطباعة الاقتراحات من القائمة ديناميكيًا بتنسيق HTML؟
  17. لا يمكنني إنشاء صفحة خطأ 500 أو 404 مخصصة. إذا قمت بكتابة عنوان url غير صحيح، يتم إعادة صفحة الخطأ الافتراضية. في ملف settings.py قمت بكتابة الإعدادات التالية: DEBUG = False TEMPLATE_DEBUG = DEBUG #.... TEMPLATE_DIRS = ( 'C:/Users/Mohssen/Django/mysite/templates', ) وفي ملف mysite/polls/urls.py لدي المسارات التالية: from django.conf.urls import patterns, url from polls import views urlpatterns = patterns('', url(r'^$', views.index, name='index'), url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail') ) ما الذي يجب تغييره للحصول على صفحة خطأ 404 مخصصة إذا استخدمت عنوان url خاطيء؟ هل هناك أي شيء يجب أن أتحقق منه ويمنع ظهور صفحة خطأ مخصصة؟
  18. إذا قمت بتعين متغير في الجلسة بالشكل التالي: request.session["name"] = "mohssen" هل هناك طريقة يمكنني من خلالها الوصول إلى المتغير السابق من داخل قالب template، أو هل يتعين علي استعادته من داخل العرض view، ثم تمريره إلى القالب template؟ السؤال لأن لدي حوالي 10 متغيرات جلسة أرغب في الوصول إليها داخل قالب ، وأعتقد أن تمرير 10 متغيرات لن يكون سهلًا، لذلك كنت أتسأل ما إذا كان هناك طريقة للحصول على متغيرات الجلسة مباشرة داخل القوالب templates؟
  19. لدي قائمة list تحتوي على بعض أسماء المستخدمين وأريد تحويل هذه القائمة إلى كود JSON وإرجاعها كـ API في فلاسك Flask ، ولكن المشكلة أن بعض الأسماء تكون مكتوبة برموز غريبة مثل მოითხოვეთ حيث يتم تحويل هذه الرموز إلى الكود التالي: { "result": [ "\u10db\u10dd\u10d8\u10d7\u10ee\u10dd\u10d5\u10d4\u10d7" ] } هنا الكود الخاص بهذه الجزئية: from flask import Flask, jsonify, request app = Flask(__name__) @app.route("/users") def users(): names = [] names.append(u'მოითხოვეთ') return jsonify(result=names) if __name__ == "__main__": app.run(debug=True) كيف يمكنني تحويل هذه الرموز إلى ما كود JSON بترميز UTF-8 لكي تكون النتيجة كالتالي: { "result": [ "მოითხოვეთ" ] }
  20. أستخدم فلاسك Flask للقيام بمشروع بسيط، ولدي ملف main.py يحتوي على الكود التالي: from flask import Flask from view import tags app = Flask(__name__) @app.route('/') def index(): return 'Home page' if __name__ == '__main__': app.run() وقمت بتعريف حزمة باسم view والتي سوف تحتوي على بعض ملفات العرض مثل view.tags.py والذي سيحتوي على كود مثل: from flask import Flask app = Flask(__name__) @app.route('/hi') def hello(): return 'Hello, World!' لذلك أحتاج إلى وجود الكائن app في الملف main.py لتشغيل الخادم ، وكذلك في ملفات العرض لتسجيل المسارات routes. كيف يمكنني إنشاء كائن app عام ومشاركته بين جميع الملفات والأصناف classes؟
  21. أحاول أن أقوم بعمل RESTful API بإستخدام فلاسك Flask، وأحاول أن أستخدم شيء مثل Try .. except على كل التطبيق بحيث إذا حدث خطأ ما في أحد المسارات routes يتم إعادة كود JSON يحتوي على رسالة خطأ بالشكل التالي: { "error":"500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application." } وبالتالي لا يتم عرض أي أخطاء في المشروع إلا على شكل JSON هل يوفر فلاسك Flask طريقة ما لكي يتم معالجة كل الأخطاء في التطبيق بالشكل السابق؟
  22. أحاول أن أتعلم فلاسك Flask بشكل متقدم من خلال قراءة مشاريع بسيطة مفتوحة المصدر، ووجدت الكود التالي في أحد المشاريع: from flask import Flask, url_for, request import requests app = Flask(__name__) @app.route("/<name>/hello", methods=["POST"]) def hi_person(name): return requests.post(url_for("hello", _external=True), data={"name": name}) @app.route("/hello", methods=["POST"]) def hello(): return 'Hi, ' + request.form["name"] if __name__ == "__main__": app.run(debug=True) ولكن عندما أحاول أن أقوم بعمل طلب إلى المسار http://localhost:5000/mohssen/hello من خلال أداة curl : curl -X POST http://localhost:5000/mohssen/hello يتوقف كل شيء ولا يحدث أي شيء، حتى سطر الأوامر يتوقف ولا تظهر أي نتيجة، قمت بتجربة أدوات أخرى مثل Postman وكانت نفس النتيجة (يظهر الخطأ Could not get response). المشروع يستخدم Flask 0.12 في بيئة إفتراضية virtualenv ما سبب هذا الخطأ وكيف أقوم بحل هذه المشكلة؟
  23. فلاسك Flask يحتوي على مجلد واحد للمفات الثابتة static بشكل إفتراضي، هل من الممكن إضافة المزيد من المجلدات الثابتة static لمشروع فلاسك Flask واحد؟ أرغب في الحصول على مجلد افتراضي للمفات الثابتة لتخزين ملفات js وcss وليكن باسم static ومجلد آخر لحفظ الصور وليكن باسم images. لا أريد وضع مجلد الصور داخل المجلد static هل من الممكن القيام بأمر كهذا في فلاسك Flask؟
  24. حاولت إرسال طلب ajax من جانب العميل client في المتصفح إلى عنوان URL خاص بموقع خارجي، ولكن يبدو أن المتصفح لديه مشكلات أمنية في ذلك، حيث يظهر خطأ CORS. فكرت في إرسال ajax إلى خادم فلاسك Flask لدي، ومن خلال الخادم أقوم بإرسال طلب GET إلى االموقع الخارجي، والحصول على الرد وإرساله مرة أخرى إلى جانب العميل في المتصفح لتخطي خطأ CORS. كيف يمكنني فعل ذلك باستخدام فلاسك Flask؟
  25. أحاول أن أستخدم الدالة get_object_or_404 التي تقوم بجلب كائن من قاعدة البيانات أو إرجاع خطأ 404 مع التابع select_related لكي لا يتم عمل إستعلام مختلف لقاعدة البيانات مرة اخرى. حاولت أن أستخدم الكود السابق: get_object_or_404(Book, title__startswith='M', pk=1) لكن لم أعرف كيف أستخدم التابع select_related ضمن الكود السابق. هل هناك طريقة لإستخدامهما معًا؟
×
×
  • أضف...